在操作系统之间切换textfieldstyle
假设我有2个TextFieldStyles,例如下面的一个,其中一个应该与iOS 15+一起运行。
struct TF1: TextFieldStyle {
init()
func _body(configuration: TextField<Self._Label>) -> some View {}
}
@available(iOS 15.0, *)
struct TF2: TextFieldStyle {
@FocusState var focused: Bool
init()
func _body(configuration: TextField<Self._Label>) -> some View {}
}
现在,我想使用修饰符.textFieldStyle()
使用这些样式。
例如,
if #available(iOS 15.0, *) {
TextField("").textFieldStyle(TF2())
} else {
TextField("").textFieldStyle(TF1())
}
上面的代码作品,但可以改进。有没有办法编写适配器,以便我可以做下面的事情?
TextField("").textFieldStyle(Adapter())
Say I have 2 TextFieldStyles like below where one of them should run with iOS 15+ if available.
struct TF1: TextFieldStyle {
init()
func _body(configuration: TextField<Self._Label>) -> some View {}
}
@available(iOS 15.0, *)
struct TF2: TextFieldStyle {
@FocusState var focused: Bool
init()
func _body(configuration: TextField<Self._Label>) -> some View {}
}
Now I want to use theses style with modifier .textFieldStyle()
where I pass in the right style.
For example
if #available(iOS 15.0, *) {
TextField("").textFieldStyle(TF2())
} else {
TextField("").textFieldStyle(TF1())
}
Above code works but can be improved. Is there a way to write an adapter so I can just do something like below?
TextField("").textFieldStyle(Adapter())
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论