我有一个按钮,我只想在文本字段不为空时启用它。我一直试图通过实施以下方法来做到这一点,没有任何运气。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
是否有另一个我可以实现的委托方法在文本更改后被触发?在这种方法中是否有某种方法来判断按键是什么,如果它是删除或类似的东西?
答案 0 :(得分:1)
您只需检查string.length == 0
和range.length > 0;
即可。这表示删除。但是,你真正想要的只是进行挂起修改,然后检查你是否还有一个非空字符串。
像这样(键入,未编译):
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *testString = [textField.text stringByReplacingCharactersInRange:range withString:string];
if( testString.length )
myButton.enabled = YES;
else
myButton.enabled = NO;
}