如果一个文本字段不是空的,如何启用一个UIButton?

我的UITextField和三个UIButtons有问题。 我想在UITextfield为空时禁用button,当它有文本时重新启用。 我已经试过这个:

- (IBAction)validateFields:(id)sender { NSString *trimName = [URLToTrim stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; if (trimName.length >0) { trim.enabled = 1; trim2.enabled = 1; trim3.enabled =1; // proceed with your inserting values } } 

和这个:

 -(void)viewDidLoad { if([URLToTrim.text isEqualToString: @""]){ trim.hidden = YES; trim2.hidden = YES; trim3.hidden = YES; } else { trim.hidden = NO; trim2.hidden = NO; trim3.hidden = NO; } 

最后,这个:

 -(void)viewDidLoad { if ([URLToTrim.text isEqualToString:@""]) { trim.enabled = 0; trim2.enabled= 0; trim3.enabled = 0; } 

但是第一个应用程序在写入时会崩溃,第二个应用程序不会重新启用button。 先谢谢您的帮助 :)

看来URLToTrim是一个UITextField? 第一个问题是你在文本字段本身调用stringByTrimmingCharactersInSet:而不是文本字段的值。 你可以在另外两个地方使用URLToTrim.text

第二个问题是viewDidLoad仅在视图第一次被加载时被调用,所以它再也不会被调用来重新启用button。 你想在你的UITextFieldDelegate的方法之一(它可能已经是你的相同的视图控制器),代码可能textField:shouldChangeCharactersInRange:replacementString:虽然textFieldShouldEndEditing: / textFieldDidEndEditing:可以工作,如果你只想要更新button时你完成编辑。