사용자가 내 UINavigationController보기에서 뒤로 단추를 누르면 두 가지 옵션이있는 UIAlertView를 표시하려고합니다. 하나의 옵션 (OK)은 사용자가 이전 화면으로 돌아갈 수있게하며, 다른 옵션 (취소)은 현재 컨트롤러에 남아 있습니다. UIAlertView in viewWillDisappear
나는 내 viewWillDisappear에서 (내가 지금 여기에 있음) 다음 코드를 구현 :-(void) viewWillDisappear:(BOOL)animated{
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
// back button was pressed. We know this is true because self is no longer
// in the navigation stack.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"All Data will be lost"
message:@"You must be connected to the internet to use this app."
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
alert.tag = 1;
[alert show];
[alert release];
}
[super viewWillDisappear:animated];
}
문제는 내가 돌아 누른 후, 뷰가이에 previos 화면 싶게 dispay에 즉시 점프 있다는 것입니다 UIAlertView를 화면에 표시하십시오. UIAlertView 콜백 메소드에서
나는 다음과 같은 코드를 사용하지만, 아무것도 (이미 이전보기에이 시점에서 봤는데 원인 나는이 생각) 발생하지 :- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if(buttonIndex == 1)
NSLog(@"back");
//Go Back ...
}
BR, mybecks
부분적으로. 하지만 이전에 있던 컨트롤러에서 현재의 컨트롤러로 돌아가고 싶을 때 오류가 발생합니다. 컨트롤러를 수동으로 처리하는 것은 허용되지 않습니다. "back"- 네비게이션을 처리하는 UINavigationController가 없다면. 이 솔루션은 매력처럼 작동합니다. – mybecks