我有一个视图控制器,我有两个文本字段和一个按钮。在viewDidLoad中,我已将按钮设置为禁用。现在我想在填满两个字段时启用按钮。请帮我怎么做。提前谢谢。
答案 0 :(得分:1)
您应该使用UITextFieldDelegate。让你的viewController实现委托方法。最重要的一个是- textFieldShouldReturn:方法。按下键盘的返回按钮时会调用它。你可以使用TextField&的resignFirstResponder。然后检查每个TextField的有效性文本。当所有textField都包含某些值时,您可以继续启用该组按钮。这将在您编辑最后一个文本字段时显示您的按钮&按下键盘的返回按钮。
如果您想在textFields填满文本时启用该按钮,则执行- textField:shouldChangeCharactersInRange:replacementString:。每次更改UITextField中的文本时,这都会启动。所以在这个方法中检查你所有的textField是一个很好的机会。
答案 1 :(得分:0)
这个怎么样?
-(void)viewDidLoad {
textField1.delegate = self;
textField2.delegate = self;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField1.text.length>=1 && textField2.text.length>=1) {
yourButton.enable = YES;
} else {
yourButton.enable = NO;
}
}
我相信你已经完成了。
由于这是示例代码,我没有考虑修剪。
您需要修剪文本字段文本并比较大小,然后使用上面的代码。
答案 2 :(得分:-1)
@的 Tirthendu 强>
你可以尝试下面的代码,我测试下面的方法,可能对你有用。
- (IBAction)btnProceedClick:(id)sender
{
[self.view endEditing:YES];
NSString *aStrMSG; //Here tfFullname & tfEmailAddress is UITextField
if([tfFullName.text length] == 0)
{
aStrMSG = @"Please insert FullName";
}
else if([tfEmailAddress.text length] == 0)
{
aStrMSG = @"Please insert Email Address";
}
if([aStrMSG length] > 0)
{
showAlertView(aStrMSG);
//SET ALERT that Enter Value in UiTextField
}
else
{
//Set your Button Enable Here.. & Process Method
}
}