AlertView的show方法执行后,后面的代码会继续运行,而不会等待用户按键结束再走,这样,如果把弹出的代码写在一个BOOL函数里,没等用户确认直接返回NO就惨了,解决方法:
- (BOOL)beforeBackButtonClickEvent { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"舍弃流程?" delegate:self cancelButtonTitle:@"否" otherButtonTitles:@"是", nil]; [alert show]; CFRunLoopRun(); return back; } - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { //否 if (buttonIndex == 0) { back = NO; } //是 else { back = YES; } CFRunLoopStop(CFRunLoopGetMain()); }
时间: 2024-08-04 22:41:59