ios - 无法使用 SwiftUI Datepicker 重叠文本

标签 ios swift xcode swiftui

我试图用 TextView 覆盖日期选择器,因为 SwiftUI 日期选择器不太可定制。这样我就可以控制标签的外观与日期选择器不同的颜色。

我遇到的问题是,当有东西放在日期选择器上面时,日期选择器不会注册点击。在 ZStack 或 .overlay 中。

我尝试了许多不同的解决方法,例如将文本前面的 .opacity 设置为零

ZStack {
    DatePicker("Due Date", selection: $startDate, displayedComponents: .date)
        .labelsHidden()
        .cornerRadius(10)
        .allowsHitTesting(true)
    Text("hi this is text")
        .allowsHitTesting(false)

}

有什么帮助吗?

最佳答案

您可以采取相反的方法,翻转 ZStack 的顺序,输入 Text背后DatePicker设置DatePicker的不透明度为低值。甚至清洁工也只是使用 background :

DatePicker("Due Date", selection: $startDate, displayedComponents: .date)
            .labelsHidden()
            .allowsHitTesting(true)
            .opacity(0.0101)
            .background(Text("Hi - this is text!"))

SwiftUI 不会跟踪对不可见元素的点击,因此不透明度不能为 0。事实上,它似乎停止注册任何东西 <= 0.1 。所以,它并不完美,但对我来说它看起来相当隐形。

关于ios - 无法使用 SwiftUI Datepicker 重叠文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67496298/

相关文章:

ios - “This code is for an app that is not compatible with this device.”

ios - UITableViewCell 滚动自定义 UITableView 标题标题

ios - UISplitViewController 中嵌入的 UIViewController 在 iPhone 上不显示栏按钮

ios - 未调用 UIAlertView 委托(delegate)函数

swift - ' Storyboard 不包含标识符为 'TimeController' 的 View Controller ' Swift 中的错误

xcode - Swift 2 错误 : . alloc() 在 Swift 中不可用:改用对象初始值设定项

ios - 为什么lldb的po命令不能在dot中打印superview?

ios - UITableView 正在添加空行并禁用滚动

swift - 如何在 SwiftUI 中子类化 @State 属性包装器

ios - 如何在 Swift 中取消正在进行的 HTTP 请求?