ios-SwiftUI日期选择器打破了工作表?
发布时间:2022-05-10 12:56:52 240
相关标签: # android
设想:
RootScreen 以模态方式呈现 DateScreen.sheet
DateScreen 有一个带有 CompactDatePickerStyle() 的 DatePicker 和一个关闭模式的按钮
用户打开 DatePicker
用户点击 DatePicker 以调出 NumPad 进行手动键盘输入
用户按下按钮以关闭模式
SwiftUI 会认为.sheet被解雇了,但实际上,只有 DatePicker 的模态被解雇了。
最小代码示例:
struct DateScreen: View {
@Binding var isPresented: Bool
@State var date: Date = Date()
var body: some View {
NavigationView {
VStack {
DatePicker("", selection: $date, displayedComponents: [.hourAndMinute])
.datePickerStyle(CompactDatePickerStyle())
}
.navigationBarItems(leading: Button("Dismiss") {
isPresented = false
})
}
}
}
@main
struct Main: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@State var isPresenting: Bool = false
var body: some Scene {
WindowGroup {
Button("Present modal", action: {
isPresenting = true
})
.sheet(isPresented: $isPresenting, content: {
DateScreen(isPresented: $isPresenting)
})
}
}
}
Gif显示被破坏的行为:
注意,如果用户不打开NumPad,它似乎工作得很好。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报