0
我有使用方法從UITextFieldDelegate協議呼叫協議方法兩次,斯威夫特
class MyTextField: UITextField, UITextFieldDelegate {
. . .
override func willMoveToSuperview(newSuperview: UIView?) {
super.willMoveToSuperview(newSuperview)
self.delegate = self
}
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
// some actions
return true
}
}
在我的ViewController類的子類文件,我使用的輸入字段與我的子類
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var field: MyTextFieldMask!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.field.delegate = self
}
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
// some other actions
return true
}
}
如果有人添加UITextFieldDelegate協議方法到ViewController類(就像上面的代碼一樣)MyTextField子類中的第一個方法將被覆蓋。
我如何在同一個方法中使用兩次不同的動作?
這不是同一個類,它的MyTextField上方,下方是MyTextFieldMask。 –