如果NSTextfield不为空,则IPhone Objective-C仅启用按钮

时间:2009-10-13 16:02:58

标签: iphone objective-c

我有一个按钮,我只想在文本字段不为空时启用它。我一直试图通过实施以下方法来做到这一点,没有任何运气。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

是否有另一个我可以实现的委托方法在文本更改后被触发?在这种方法中是否有某种方法来判断按键是什么,如果它是删除或类似的东西?

1 个答案:

答案 0 :(得分:1)

您只需检查string.length == 0range.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;
}