【发布时间】:2017-01-24 12:06:03
【问题描述】:
我正在尝试在 UITextField 上设置 ontouch 侦听器,但它根本不起作用这是我的代码:
class SettingsVC: BaseVC {
@IBOutlet weak var languageField: SkyFloatingLabelTextField!
@IBOutlet weak var btnburgerMenu: UIButton!
@IBOutlet weak var headerLbl: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
languageField.addTarget(self, action: "myTargetFunction:", for: UIControlEvents.touchDown)
}
func myTargetFunction(textField: SkyFloatingLabelTextField) {
print("test")
}
}
这是我遇到的错误
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[IFO.SettingsVC myTargetFunction:]: unrecognized selector sent to instance 0x7fac8b61ff30'
异常的原因是什么?
【问题讨论】:
-
languageField.addTarget(self, action: #selctor(self.myTargetFunction(_:)), for: UIControlEvents.touchDown)
-
Selector 语法在 Swift 3 中改变了,和这个比较 stackoverflow.com/questions/38829151/… 这个是给 GestureRecoginzer 的,你需要用 UItextField 来改变它
标签: ios swift swift3 uitextfield skyfloatinglabeltextfield