你解决了吗?我也遇到了同样的问题,但是是在UIButton上。情况是当你为UIButton(在你的情况下是UITextField)创建一个采用控制某些协议的扩展时,它失去了从storyboard连接操作的能力。看看这个链接:https://openradar.appspot.com/30001713
问题似乎出在Storyboard上,而不是它的功能。
您仍然可以使用以下解决方法使其正常工作:
使用子类,比如class TextField: UITextField { }
并将所有扩展添加到TextField
中。
在Storyboard中,首先将项目的类设置为UITextField
,完成后将其类设置为TextField
。它会显示错误,但它会将所有事件转发到您的ViewController。
如果您的用例允许,扩展UIControl
并使用UITextField
或UIButton
。事实证明,当您将UIControl扩展到某些协议时,Storyboard不会生气。(从此线程中找到:https://forums.developer.apple.com/thread/25180)