Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Don';t关闭UIAlertView(无子类化)_Ios_Passwords_Uialertview - Fatal编程技术网

Ios Don';t关闭UIAlertView(无子类化)

Ios Don';t关闭UIAlertView(无子类化),ios,passwords,uialertview,Ios,Passwords,Uialertview,我正在使用UIAlertView提示用户输入密码。如果密码正确,我希望警报视图正常消失;如果密码不正确,我希望警报视图保持不变(文本更改为“请重试”)。如何更改默认行为,以便按下按钮时视图不会消失 我尝试了在中建议的子类化方法,但是在我的子类中没有调用dismissWithClickedButtonIndex。阅读文档后,我发现不支持子类化UIAlertView,因此我想尝试另一种方法 如果这在UIAlertView中无法实现,那么从头开始创建密码视图是最好的选择吗?感谢阅读。您可以设计一个类似

我正在使用
UIAlertView
提示用户输入密码。如果密码正确,我希望警报视图正常消失;如果密码不正确,我希望警报视图保持不变(文本更改为“请重试”)。如何更改默认行为,以便按下按钮时视图不会消失

我尝试了在中建议的子类化方法,但是在我的子类中没有调用
dismissWithClickedButtonIndex
。阅读文档后,我发现不支持子类化
UIAlertView
,因此我想尝试另一种方法


如果这在
UIAlertView
中无法实现,那么从头开始创建密码视图是最好的选择吗?感谢阅读。

您可以设计一个类似于alertview的UIView,并可以校准其中的功能。删除UIView由您控制

单击按钮后,不可能将警报留在那里


如果您在本地检查密码,您可以通过委托方法禁用“确定”按钮
警报视图shouldenablefirstotherbutton:
,或者稍后再显示另一个警报。第二个警报可能包含不同的信息,例如“密码不正确”而不是“输入密码”。

因为这是一个非常古老的问题,但我得到了一个解决方案,并考虑在不久的将来发布任何其他开发人员需要的信息

在.h文件中实现协议方法

为了响应UIAlertView中的按钮点击,我们将使用–alertView:ClickedButtonIndex:protocol方法

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

}
//Now below code will check if uitextfield value.
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
    NSString *inputText = [[alertView textFieldAtIndex:0] text];
    if( [inputText length] > 0)
    {
       //text field value is greater than zero ,then Done button will appear as blue,or else it will be blurred
        return YES;
    }
    else
    {
        return NO;
    }
}

简单的解决方案是,允许第一个
UIAlertView
关闭并显示另一个具有相同委托的视图。这应该是可行的,但是你可能会得到一个很短的时间,没有
UIAlertView
。我最终在短期内使用了Nicholas Smith的解决方案,但这似乎是产生我所追求的密码框行为的最佳选择。谢谢,Shob-Z!这是目前为止最好的答案。@Gannicus谢谢:)