我需要在触摸文本字段时采取行动。我已导入Material,以为UI设计动画赋予一些效果。我需要在触摸文本字段时显示视图。但是我收到错误消息::无法识别的选择器发送到实例0x7fed2b046800' ***首先抛出调用堆栈:
答案 0 :(得分:0)
您不必添加目标(而且这不是添加选择器的正确方法)
self.dobField.addTarget(self, action:Selector(("textFieldDidBeginEditing")), for: UIControlEvents.editingDidBegin)
您只需要
self.dobField.delegate = self
使用
func textFieldDidBeginEditing(_ textField: UITextField){}
//
正确的选择器将是
self.dobField.addTarget(self, action:#selector(someMethod), for: UIControlEvents.editingDidBegin)
使用
@objc func someMethod(_ textField: UITextField){}
顺便说一句,您已经符合UITextFieldDelegate
答案 1 :(得分:0)
您可以处理此购买设置,使您的视图控制器符合UITextFieldDelegate
,并将文本字段的delegate
设置为视图控制器
override func viewDidLoad() {
super.viewDidLoad()
dobField.delegate = self // or do this in your storyboard
}
然后使用以下两种方法之一来处理您的操作……
extension EditProfileViewController: UITextFieldDelegate {
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool
return true // or return false if you don't want to actually edit the field
}
func textFieldDidBeginEditing(_ textField: UITextField)
}
}