防止AlertView被解雇
任何人都可以帮我防止在其按钮点击事件中解除alertview吗?
我有一个textview作为我的alertView的子视图,如果textview的值为nil,我不想忽略它。
这可能违反HIG指南,不解雇UIAlertView。
解决方法:我不知道您的应用程序中发生了什么,但为了实现这一点,您可以做的是关闭AlertView,然后检查textView的文本是否已设置。 如果设置为nil,则再次调出alertview!
由于这是一个非常古老的问题,但我得到了一个解决方案,但如果其他开发人员在不久的将来需要发布。
在.h文件中实现协议方法
为了响应UIAlertView中的按钮点击,我们将使用 – alertView:clickedButtonAtIndex: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; } }
或者,有一个更快的方法:
return [inputText length] ? YES : NO;
与if statement
作用相同。
我不确定你能不能。
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
是callBack上唯一可用的选项。 并且仍然至少有一个活动按钮。
如果您确实需要该特定行为,请尝试重新实现您自己的UIAlertView