我在内容视图中具有以下文本字段:
func doCommit(){
print("\(self.status.textValue)")
}
var body : some View {
TextField("Your input:", text: self.$status.textValue, onCommit:{
self.doCommit()
}).lineLimit(1).focusable(true, onFocusChange: { focused in
print ("\(focused) changed")
})
...
}
当文本字段成为焦点并键入return时,doCommit被调用,这正是我想要的, 但是,当我单击其他内容,然后单击文本字段并单击其他位置时,再次调用了doCommit,并且未调用可聚焦的onFocusChange。 我不希望在失去焦点时调用func,而仅在返回/进入时调用
答案 0 :(得分:0)
似乎只有当您使用 Tab 键遍历不同的 UI 元素时才会调用 onFocusChange
,而不是在您点击进入和离开 TextField
时调用