3

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

我已经尝试过Is it possible to NOT dismiss a UIAlertView建议的子类化方法,但dismissWithClickedButtonIndex在我的子类中没有被调用。阅读文档后,我发现UIAlertView不支持子类化,所以我想尝试另一种方法。

如果这是不可能的UIAlertView,那么从头开始简单地创建密码视图的最佳选择是什么?谢谢阅读。

4

3 回答 3

5

由于这是一个非常古老的问题,但我得到了一个解决方案,并且如果在不久的将来有任何其他开发人员需要,我会发布。

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

为了响应 UIAlertView 中的按钮点击,我们将使用 –alertView:clickedButtonAtIndex: 协议方法作为

- (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;
    }
}
于 2014-05-29T06:53:59.110 回答
3

您可以设计一个类似于 alertview的UIView并可以调用其中的函数。删除 UIView 由您控制。

于 2013-11-04T13:07:00.927 回答
1

单击按钮后,无法将警报留在此处。

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

于 2013-11-04T13:25:17.707 回答