QMUITextFieldDelegate
@protocol QMUITextFieldDelegate <UITextFieldDelegate>
@optional
/**
* 配合 `maximumTextLength` 属性使用,在输入文字超过限制时被调用。
* @warning 在 UIControlEventEditingChanged 里也会触发文字长度拦截,由于此时 textField 的文字已经改变完,所以无法得知发生改变的文本位置及改变的文本内容,所以此时 range 和 replacementString 这两个参数的值也会比较特殊,具体请看参数讲解。
*
* @param textField 触发的 textField
* @param range 要变化的文字的位置,如果在 UIControlEventEditingChanged 里,这里的 range 也即文字变化后的 range,所以可能比最大长度要大。
* @param replacementString 要变化的文字,如果在 UIControlEventEditingChanged 里,这里永远传入 nil。
*/
- (void)textField:(QMUITextField *)textField didPreventTextChangeInRange:(NSRange)range replacementString:(NSString *)replacementString;
@end
Undocumented
-
配合
maximumTextLength
属性使用,在输入文字超过限制时被调用。Warning
在 UIControlEventEditingChanged 里也会触发文字长度拦截,由于此时 textField 的文字已经改变完,所以无法得知发生改变的文本位置及改变的文本内容,所以此时 range 和 replacementString 这两个参数的值也会比较特殊,具体请看参数讲解。
Declaration
Objective-C
- (void)textField:(QMUITextField *)textField didPreventTextChangeInRange:(NSRange)range replacementString:(NSString *)replacementString;
Swift
optional func textField(_ textField: QMUITextField!, didPreventTextChangeIn range: NSRange, replacementString: String!)
Parameters
textField
触发的 textField
range
要变化的文字的位置,如果在 UIControlEventEditingChanged 里,这里的 range 也即文字变化后的 range,所以可能比最大长度要大。
replacementString
要变化的文字,如果在 UIControlEventEditingChanged 里,这里永远传入 nil。