【发布时间】:2021-12-09 14:04:58
【问题描述】:
我有一个带有@FocusState 变量的父视图,我想将它传递给包含TextField 的子视图。我希望能够从子视图中更改FocusState,但我收到错误Cannot assign to property: 'self' is immutable 和Cannot assign value of type 'Bool' to type 'FocusState<Bool>.Binding'。
父视图:
struct ParentView: View {
@State private var text: String
@FocusState private var isEditing: Bool
var body: some View {
ChildView($text, $isEditing)
}
}
struct ChildView: View {
@Binding var text: String
var isEditing: FocusState<Bool>.Binding
init(_ text: Binding<String>, _ isEditing: FocusState<Bool>.Binding) {
self._text = text
self.isEditing = isEditing
}
var body: some View {
TextField("Username", text: $text)
.focused(isEditing)
Button("Click me!") {
isEditing = false // Error here
}
}
}
非常感谢!
【问题讨论】:
标签: ios swift iphone swiftui ios15