我在下面的代码中遗漏了什么吗?
此应用程序在 iOS 15 设备上构建(macOS Monterey b5 / Xcode 13 b5)并完美执行 - 但在 iOS 14.7 设备上导致 SIGABRT...
import SwiftUI
struct ContentView: View {
@State private var text = "This app causes a runtime error on ios 14.7"
@available(iOS 15.0, *)
@FocusState var isInputActive: Bool
var body: some View {
if #available(iOS 15.0, *) {
TextEditor(text: $text)
.focused($isInputActive)
} else { // ios14 or <
TextEditor(text: $text)
}
}
}
遇到了同样的问题,并通过将属性值保留在视图修饰符中找到了解决方案。
这里我举一个简单的例子:
@available(iOS 15.0, *)
struct TextEditor: ViewModifier {
func body(content: Content) -> some View {
content
.font(.largeTitle)
.foregroundColor(.white)
.padding()
.background(.blue)
}
}
然后调用如下:
if #available(iOS 15.0, *){
Text("Hello world").modifier(TextEditor())
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)