如何在 Swift 中的一个特定 UITextField 上应用 textFieldShouldBeginEditing
How to apply textFieldShouldBeginEditing on one specific UITextField in Swift
我有地址、城市、州和邮编四个文本字段。我只需要为状态字段调用选择器视图,所以我只需要在状态文本字段上隐藏键盘。我正在尝试使用这段代码在 textFieldShouldBeginEditing 函数中执行此操作,但它将它应用于所有文本字段。
func textFieldShouldBeginEditing(state: UITextField) -> Bool {
return false
}
我还将这段代码应用到所有文本字段,因此键盘将隐藏在 return
func textFieldShouldReturn(textField: UITextField!) -> Bool {
self.view.endEditing(true)
return false
}
所以我所有的文本字段都在 viewDidLoad 中
address.delegate = self
city.delegate = self
zip.delegate = self
state.delegate = self
我希望这足够具体。感谢您的帮助!
首先,通过这样做
func textFieldShouldBeginEditing(state: UITextField) -> Bool {
return false
}
您不是 "selecting" 文本字段,您只是在命名该变量。
您应该做的是将该变量与您的属性进行比较,并据此采取行动。
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
if(textField == self.state)
return false
return true;
}
PS。 address
、city
等都不是很好的变量名。当然,您知道它们是什么,但如果其他人正在查看代码,则不会很明显,我建议使用 addressTextField
甚至 addressField
之类的名称。
在委托回调中,您可以使用文本字段验证 'textField'。
例如:
func textFieldShouldReturn(textField: UITextField!) -> Bool {
if textField == address {
self.view.endEditing(true)
return false
}
...
}
我有地址、城市、州和邮编四个文本字段。我只需要为状态字段调用选择器视图,所以我只需要在状态文本字段上隐藏键盘。我正在尝试使用这段代码在 textFieldShouldBeginEditing 函数中执行此操作,但它将它应用于所有文本字段。
func textFieldShouldBeginEditing(state: UITextField) -> Bool {
return false
}
我还将这段代码应用到所有文本字段,因此键盘将隐藏在 return
func textFieldShouldReturn(textField: UITextField!) -> Bool {
self.view.endEditing(true)
return false
}
所以我所有的文本字段都在 viewDidLoad 中
address.delegate = self
city.delegate = self
zip.delegate = self
state.delegate = self
我希望这足够具体。感谢您的帮助!
首先,通过这样做
func textFieldShouldBeginEditing(state: UITextField) -> Bool {
return false
}
您不是 "selecting" 文本字段,您只是在命名该变量。
您应该做的是将该变量与您的属性进行比较,并据此采取行动。
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
if(textField == self.state)
return false
return true;
}
PS。 address
、city
等都不是很好的变量名。当然,您知道它们是什么,但如果其他人正在查看代码,则不会很明显,我建议使用 addressTextField
甚至 addressField
之类的名称。
在委托回调中,您可以使用文本字段验证 'textField'。 例如:
func textFieldShouldReturn(textField: UITextField!) -> Bool {
if textField == address {
self.view.endEditing(true)
return false
}
...
}