Clé*_*gip 10 xcode uiactionsheet ios swiftui
我试图让我的用户在 ActionSheet 中选择拍照或从库中选择
在 Iphone 上运行良好,但在 iPad 上不行
在 Ipad 上:ActionSheet 位于屏幕顶部,并且不可读...
我在 StackOverflow 上读到的有关此问题的所有问题都在谈论崩溃(这不是我的情况)或早于 SwiftUI
我的代码:
struct AjoutView: View {
@State private var image : Image?
@State private var shouldPresentImagePicker = false
@State private var shouldPresentActionScheet = false
@State private var shouldPresentCamera = false
var body: some View {
VStack{
...
}
.sheet(isPresented: $shouldPresentImagePicker, onDismiss: loadImage) {
SUImagePickerView(sourceType: self.shouldPresentCamera ? .camera : .photoLibrary, image: self.$image, isPresented: self.$shouldPresentImagePicker, dispId: disp.id)
}
.actionSheet(isPresented: $shouldPresentActionScheet) { () -> ActionSheet in
ActionSheet(title: Text("Ajouter une photo"), buttons: [ActionSheet.Button.default(Text("Prendre une photo"), action: {
self.shouldPresentImagePicker = true
self.shouldPresentCamera = true
}), ActionSheet.Button.default(Text("Importer depuis mes photos"), action: {
self.shouldPresentImagePicker = true
self.shouldPresentCamera = false
}), ActionSheet.Button.cancel()])
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码中缺少什么?
lor*_*sum 14
View将其附加到您喜欢的东西上Button,使其显示出来。
struct ASSample: View {
@State var shouldPresentActionScheet1: Bool = false
@State var shouldPresentActionScheet2: Bool = false
var body: some View {
VStack{
Button("show-sheet1", action: {
self.shouldPresentActionScheet1.toggle()
})
.actionSheet(isPresented: $shouldPresentActionScheet1) { () -> ActionSheet in
ActionSheet(title: Text("Ajouter une photo"), buttons: [ActionSheet.Button.default(Text("Prendre une photo"), action: {
//self.shouldPresentImagePicker = true
//self.shouldPresentCamera = true
}), ActionSheet.Button.default(Text("Importer depuis mes photos"), action: {
//self.shouldPresentImagePicker = true
//self.shouldPresentCamera = false
}), ActionSheet.Button.cancel()])
}
Spacer()
Button("show-sheet2", action: {
self.shouldPresentActionScheet2.toggle()
})
.actionSheet(isPresented: $shouldPresentActionScheet2) { () -> ActionSheet in
ActionSheet(title: Text("Ajouter une photo"), buttons: [ActionSheet.Button.default(Text("Prendre une photo"), action: {
//self.shouldPresentImagePicker = true
//self.shouldPresentCamera = true
}), ActionSheet.Button.default(Text("Importer depuis mes photos"), action: {
//self.shouldPresentImagePicker = true
//self.shouldPresentCamera = false
}), ActionSheet.Button.cancel()])
}
}
}
}
struct ASSample_Previews: PreviewProvider {
static var previews: some View {
ASSample()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1892 次 |
| 最近记录: |