0

変更を保存していない場合、誰かが私のナビゲーション コントローラーに戻るのを止めたいです。SO に関するほとんどの投稿では、戻るボタンのオーバーライドについて説明しています (これを行うためのさまざまな手法があります)。ただし、iOS7 では、スワイプして戻ることができますnavigationViewController...

実装したいUINavigationControllerDelegate正しいタイプのように見える を見ましたが、ナビゲーションアクションをキャンセルする方法がわかりません。delegateこれを行う方法はありますか?

4

1 に答える 1

1

残念ながら、iOS7 では何も変わっていません。何らかのチェックを入れたい場合は、戻るボタンを偽造する必要があります。

ちなみに、矢印ボタンを偽造する必要がないので、簡単になりました。

編集:

それを行うには:

UIButton *backButton = [[UIButton alloc] initWithFrame: CGRectMake(0, 0, 44.0f, 30.0f)];
[backButton setImage:[UIImage imageNamed:@"back.png"]  forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(popVC) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
于 2013-09-23T04:51:02.753 に答える