执行委托方法时关闭警报视图

时间:2014-09-16 21:21:29

标签: ios objective-c uialertview

嗨,当我运行我的委托方法解析json数据时,警报视图似乎冻结,而它正在执行该方法,无论如何都在那里隐藏警报视图,同时应用程序正在运行代码我试过< / p>

   - (IBAction)btnAdd:(id)sender {
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Add Source" message:@"Enter the web address of the json data" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Add", nil];
    alert.alertViewStyle = UIAlertViewStylePlainTextInput;
    [alert setTag:0];
    [alert dismissWithClickedButtonIndex:-1 animated:YES];
    [alert show];
}

这实际上并没有做任何事情。 有什么建议吗?

* UPDATE 在委托方法中我得到相同的结果

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (alertView.tag == 0) {
        if (buttonIndex == 1) {
            NSString *textEnteredraw = [[alertView textFieldAtIndex:0] text];
            [alertView dismissWithClickedButtonIndex:-1 animated:YES];

2 个答案:

答案 0 :(得分:0)

您可以在显示警报之前调用代码隐藏警报。这个方法是在显示警告后调用的。

答案 1 :(得分:0)

从方法

 - (IBAction)btnAdd:(id)sender

删除

[alert dismissWithClickedButtonIndex:-1 animated:YES];

因为正如@Dima所说,你甚至在展示它之前就解雇了alertView。