我试图在另一个视图中显示警报视图,但是出现问题。它会短暂显示...但是一秒钟后会自动消失。
这是我的第一个警报视图委托中的代码:
- (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/