ユーザーがUINavigationControllerビューの[戻る]ボタンを押すと、2つのオプションを使用してUIAlertViewを表示します。 1つのオプション(OK)を使用すると、ユーザーは前の画面に戻り、もう1つ(キャンセル)は現在のコントローラーに残ります。 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];
}
問題は、私は戻る押した後、ビューはこの上&過去の画面ウントdispayにすぐにジャンプしていること、ですUIAlertViewを表示します。 (私はすでに前のビューに、この時点できた原因、これはあると思います)私は、次のコードを使用しますが、何も起こりませんUIAlertViewのコールバックメソッドで
:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if(buttonIndex == 1)
NSLog(@"back");
//Go Back ...
}
BR、 mybecks
作業部分。しかし、以前のものから現在のものにナビゲートしたいときにエラーが発生すると、コントローラを手動で処理することはできません。 "戻る" - ナビゲーションを処理するUINavigationControllerがない場合。このソリューションはチャームのように機能します。 – mybecks