Joe*_*e.b 5 custom-controls ios uitextfielddelegate swift
我正在尝试实现一个可重用的UITextFieldDelegate类,如下所示:
class CustomTextFieldDelegate : NSObject, UITextFieldDelegate
Run Code Online (Sandbox Code Playgroud)
所有委托协议方法均已正确实现。
在 中controller,我将 分配delegate给UITextField
textField.delegate = CustomTextFieldDelegate()
Run Code Online (Sandbox Code Playgroud)
问题是没有调用任何委托函数。但是,当我从控制器实现委托协议时,一切正常
class CustomTableViewController: UITableViewController, UITextFieldDelegate
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
如果您想在整个项目中重用 CustomTextFieldDelegate,则应该使用 Singleton 实例;
textField.delegate = CustomTextFieldDelegate.sharedInstance
Run Code Online (Sandbox Code Playgroud)
和班级的变化
class CustomTextFieldDelegate : NSObject, UITextFieldDelegate {
static let sharedInstance:CustomTextFieldDelegate = CustomTextFieldDelegate();
func textFieldDidBeginEditing(textField: UITextField) {
NSLog("textFieldDidBeginEditing ...");
}
//... other methods
} //F.E.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2118 次 |
| 最近记录: |