如果一个文本字段不是空的,如何启用一个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时你完成编辑。