Ccl*_*emm 5 modal-dialog ipad swift swiftui
我正在使用 SwiftUI 为 iPad 开发应用程序。我想展示一个页面,但尺寸较小。我正在使用,但无法更改页表的宽度。
.sheet(
isPresented: self.$isEditing,
) {
Text("My page sheet view")
}
Run Code Online (Sandbox Code Playgroud)
结果是:
我怎样才能拥有 Apple 快捷方式应用程序的模态大小?
也许这是来自 Apple 的专有自定义视图,UIKit 不可用...非常感谢
小智 0
目前,您可以使用更小的 actionSheet(iOS 14 或更早版本)/confirmationDialog(iOS 15 或更高版本),或者您可以使用SheeKit创建自己的定制工作表。
对于actionSheet/confirmationDialog就足够的情况:
@State private var showingConfirm: Bool = false
@State private var actionSelection = ""
..
Group {
Button(action: {
showingConfirm.toggle()
}, label: {
Label("Demo")
})
}
// iOS 14
.actionSheet(isPresented: $showingConfirm, content: {
let action1 = ActionSheet.Button.default(Text("First action")) {
actionSelection = "First"
}
let action2 = ActionSheet.Button.default(Text("Second action")) {
actionSelection = "Second"
}
return ActionSheet(title: Text("Action Sheet"), message: Text("Message"), buttons: [action1, action2])
})
// or for iOS 15
.confirmationDialog("Action Sheet", isPresented: $showingConfirm, titleVisibility: .visible) {
Button("First action") {
actionSelection = "First"
}
Button("Second action") {
actionSelection = "Second"
}
}
Run Code Online (Sandbox Code Playgroud)