テキストフィールドでUIAlertviewを表示したい。また、ユーザーが有効な電子メール ID を入力していない場合、UIAlertview の [OK] ボタンは無効になります。
UIAlertviewを表示し、UIAlertview Okボタンを無効にする方法を知っています..
私の問題は(BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
、ボタンが有効になっている理由ではないということです。
しかし、ユーザーが[OK]ボタンを押すと、
- (void)alertView:(UIAlertView
*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
と呼ばれます。
これが私のコードです、
-(IBAction)forgotpassBtnclicked:(id)sender
{
UIAlertView *alertview=[[UIAlertView alloc]initWithTitle:@"" message:@"" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
[alertview setAlertViewStyle:UIAlertViewStylePlainTextInput];
UITextField *textField=[alertview textFieldAtIndex:0];
textField.placeholder=@"enter your email id";
[alertview show];
}
#pragma mark Alertview delgate
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
UITextField *text1=[alertView textFieldAtIndex:0];
BOOL flag=[self validateEmail:text1.text];
return flag;
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
}
#pragma mark Email Validation
- (BOOL) validateEmail: (NSString *) email
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
// return 0;
return [emailTest evaluateWithObject:email];
}
私は何が間違っているのか理解できませんか? ...
前もって感謝します...