实战问答
我想知道,我们如何检测 SecureTextField 是失去焦点还是获得焦点。
目前我正在使用点击手势来检查是否获得焦点并相应地更改边框颜色,但有时颜色会更改但不会开始编辑。
SecureField("Password", text: $viewModel.password) {
passwordEditingState = .ended
focusedTextField = nil
}
.onTapGesture {
focusedTextField = TextFields.password.rawValue
}
.padding(20)
.background(Color.systemDefaultSecondary)
.cornerRadius(16.0)
.disableAutocorrection(true)
.autocapitalization(.none)
.overlay(RoundedRectangle(cornerRadius:16).stroke(isSelected ? Color.green : Color.gray, lineWidth: 1)
需要考虑的一件事是我的应用程序的最低目标为 14.1,因此我需要一个基于此的解决方案。谢谢您的帮助!
解决方案
可以将focused修饰符与 一起使用FocusState,如
|