gpt4 book ai didi

ios - 未调用 alertViewShouldEnableFirstOtherButton

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:09:45 24 4
gpt4 key购买 nike

我想显示带有文本字段的 UIAlertview。如果用户未输入有效的 emai id,则 UIAlertview 的确定按钮将被禁用。

我知道如何显示 UIAlertview 和禁用 UIAlertview 确定按钮..

我的问题是 -(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];
}

我不明白我做错了什么?..

提前致谢...

最佳答案

UIAlertViewDelegate文档说 alertViewShouldEnableFirstOtherButton: 方法,

Sent to the delegate to determine whether the first non-cancel button ion the alert should be enabled.

您正在使用 @"ok" 的取消按钮创建警报,因为非取消按钮是 nil,所以不会调用该方法。而是尝试跟随,

UIAlertView *alertview=[[UIAlertView alloc]initWithTitle:@"" message:@"" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil];

此外,用户应该可以选择取消警报而无需输入文本。有一个取消按钮是很好的用户体验。

关于ios - 未调用 alertViewShouldEnableFirstOtherButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17783709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com