我试图在另一个视图中显示警报视图,但是出现问题。它会短暂显示...但是一秒钟后会自动消失。

这是我的第一个警报视图委托中的代码:

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

    if(buttonIndex == 1)
    {
        Room *room = [[Room alloc] init];
        room = [roomList objectAtIndex:alertView.tag];
        currentRoom = room;
        if([[alertView textFieldAtIndex:0].text isEqualToString:room.password]){
            [self performSegueWithIdentifier:@"joinRoom" sender:self];
        }
        else{
            alertMessage *message = [[alertMessage alloc] initWithTitle:@"Error"
                                                            message:@"Invalid password"
                                                           delegate:nil
                                                  cancelButtonTitle:@"OK"
                                                  otherButtonTitles:nil];
            [message setStyle];
            [message show];
        }
    }
}

最佳答案

使用alertView:didDismissWithButtonIndex:委托方法代替alertView:clickedButtonAtIndex:委托方法。警报消失后将调用前者。当您要基于第一个警报视图的点击按钮显示第二个时,这更有意义。

您可能希望在第二个警报视图上有两个按钮。一个取消,另一个“重试”。轻按“重试”将再次显示密码警报。

关于ios - 嵌套的UIAlertView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18524134/

10-12 04:41