ios - 不能与 SwiftUI Datepicker 重叠文本
问题描述
我试图用文本视图覆盖一个日期选择器,因为 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
。所以,它并不完美,但对我来说它看起来很不可见。
推荐阅读
- http - 为什么在客户端-服务器通信中使用 https 而不是 SSH 更广泛?
- node.js - 多次调用 next(error) 时的默认错误处理程序
- regex - 正则表达式匹配前面没有另一个字符串的字符串
- android - @Composable 调用只能在 volley 中的 @Composable 函数的上下文中发生
- sql - 插入具有所有现有可能值的值
- android - SetInputType(InputType.TYPE_CLASS_NUMBER) 和 setInputType(InputType.InputType.TYPE_NUMBER_VARIATION_PASSWORD) 给出不同的键盘
- java - JPA 复合键
- python - GOES-East 全盘域实时图像与实际数据不符
- javascript - 启动不和谐机器人的问题(它不想工作)
- android - 如何通过布局检查器导航到声明 Imageview 的 XML 文件?