讓我知道這是否是重復的問題。
我正在開發一個帶有照片選擇器的應用程式。我在視圖 A 上,上面有一個 按鈕。當我點擊 時,我想導航到視圖 B。導航時,我想在視圖 B 內自動顯示照片選擇器視圖。我無法弄清楚如何在 Swiftui 中顯示作業表。在 UIKit 中,在 viewcontroller B 的 viewdidappear 上,我將展示 Pickerview。這是我的代碼
```import SwiftUI
struct ViewB: View {
@State private var showingImagePicker = false
@State private var uploadedPhotos = [UIImage]()
var body: some View {
VStack {
Button("Select Image") {
showingImagePicker = true
}
}
.sheet(isPresented: $showingImagePicker) {
PhotoPicker(photoList: $uploadedPhotos)
}
.onChange(of: uploadedPhotos) { _ in
}
}
}```
此代碼是 ViewB,我將在點擊 viewB 中的按鈕時顯示 pickerView。但我不想點擊按鈕,而是希望選擇器出現在 ViewB 的出現
uj5u.com熱心網友回復:
SwiftUI 中有一個名為 的視圖修飾符.onAppear(perform:),它是 SwiftUI 的 UIKit 對應物,它viewDidAppear為您提供了構建和顯示 SwiftUI 視圖的入口點。只需將此修飾符添加到視圖 B(您正在呈現的作業表內的視圖)。在您提供給修飾符的閉包中,您可以根據需要更改狀態以顯示選取器。
如果您希望選擇器視圖在視圖出現后進行影片處理,則宣告過渡和影片背景關系的適當位置是在充當您的選擇器視圖的視圖上。
struct ViewB: View {
@State private var displayPicker = false
var body: some View {
VStack {
Text("This is View B")
if displayPicker {
PickerView()
.transition(.slide)
.animation(.easeInOut, value: displayPicker)
}
}
.onAppear {
displayPicker = true
}
}
}
在此處閱讀有關修飾符的更多資訊: https://developer.apple.com/documentation/SwiftUI/AnyView/onAppear(perform:)
uj5u.com熱心網友回復:
你可以試試
@State private var showingImagePicker = true
uj5u.com熱心網友回復:
我想我想通了-
struct CreateView: View {
@State private var image: Image?
@State private var showingImagePicker = false
@State private var uploadedPhotos = [UIImage]()
var body: some View {
ScrollView {
HStack {
image?.resizable().scaledToFit()
}
.onAppear {
showingImagePicker = true
}
.sheet(isPresented: $showingImagePicker) {
PhotoPicker(photoList: $uploadedPhotos)
}
.onChange(of: uploadedPhotos) { _ in
guard let uiImage = uploadedPhotos.first else {return}
image = Image(uiImage: uiImage)
}
}
}
}
這里 PhotoPicker() 是我擁有的自定義視圖
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468557.html
標籤:IOS 迅速 迅捷 swiftui-导航链接
上一篇:Swift:從JSON轉換為
