Swift 2 为带有对象参数的特定 UITextfield 添加观察者
Swift 2 addObserver for specific UITextfield with object parameter
我想在点击特定 UITextField
时调用一个函数:
据我了解,以下代码适用于来自 window:
的通知
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)
但我想收到来自特定 UITextField
的特定通知。我尝试了以下代码但没有成功:
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UITextFieldTextDidBeginEditingNotification, object: textField)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UITextFieldTextDidEndEditingNotification, object: textField)
我搜索了很多,在这里发现了同样的问题 (),但答案对我不起作用。
我现在已经尝试了 3 个小时....感谢任何帮助,非常感谢!
您可以查看 UITextFieldDelegate
协议 - 在那里您可以找到问题的解决方案。只需将您的 class 设置为委托,并实现协议的一种方法。您可以在文档中找到它们(例如 textFieldShouldBeginEditing
)。
如有问题,欢迎提问。
我想在点击特定 UITextField
时调用一个函数:
据我了解,以下代码适用于来自 window:
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)
但我想收到来自特定 UITextField
的特定通知。我尝试了以下代码但没有成功:
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UITextFieldTextDidBeginEditingNotification, object: textField)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UITextFieldTextDidEndEditingNotification, object: textField)
我搜索了很多,在这里发现了同样的问题 (
我现在已经尝试了 3 个小时....感谢任何帮助,非常感谢!
您可以查看 UITextFieldDelegate
协议 - 在那里您可以找到问题的解决方案。只需将您的 class 设置为委托,并实现协议的一种方法。您可以在文档中找到它们(例如 textFieldShouldBeginEditing
)。
如有问题,欢迎提问。