2011-12-15 16 views
1

私はストーリーボードで作成したナビゲーションコントローラを持っています。前方と後方の関数は正常に動作します...私が苦労しているのは、戻るボタンを押したときにアプリケーションの状態を保存する方法です。戻るボタンを押したときに現在のView Controllerに通知する方法はありますか?iOS 5ストーリーボードナビゲーションコントローラ - 戻るボタン操作(戻る前に状態を保存する)をカスタマイズするには

どのように私はこのケースでviewWillDisappearを使用することができます。

ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document]; 
    readerViewController.title = model.title; 
    readerViewController.delegate = self; 
    [self.navigationController pushViewController:readerViewController animated:YES]; 
    [readerViewController release]; 

(私はPDFリーダーのライブラリを使用しています)

+0

なぜこれをしたいのかは不明です。場合によっては、ナビゲーションスタックからポップされたビューが表示されないようにしたいですか?それとも事実を知りたいだけですか? –

+0

私は戻って行く前にPDFのブックマークを保存したい –

+0

ナビゲーションコントローラの委任を、そのクラスがプロトコルを採用している限り、スタックの最上位にあるビューに設定して、ポップされることを通知することができます。 –

答えて

3

まあ、スタックの一番上にあるビューコントローラ(現在画面上)viewWillDisappear:viewDidDisappear:というメッセージが表示されます。

viewWillDisappear:は、ユーザーがその画面で編集または操作している可能性のあるものを保存するのに適しています。

編集してフォローに対処するための

ユーザーは「戻る」をタップしたときので、あなたはこれらのメッセージを取得します(私が提示ビューコントローラ「rootViewController」をコールするつもりです)

  1. readerViewControllerがviewWillDisappearを取得します:
  2. rootViewControllerが得るviewWillAppear:
  3. readerViewControllerが得るviewDidDisappear:
  4. rootViewControllerはviewDidAppearを取得します:

あなたはReaderViewControllerソースへのアクセス権を持っている場合、あなたはこれらのイベントのために/編集メソッドを追加することができますので。ナビゲーションコントローラにデリゲートを設定することもできます。そのデリゲートは、ユーザーが戻ってくるとnavigationController:willShowViewController:animated:navigationController:didShowViewController:animated:になります。

しかし、この「ReaderViewController」についてもっと詳しく説明すると、操作するデリゲートメソッドがあるかもしれません。 "pdf reader library"とは何ですか?あなたは何を保存しようとしていますか?

+0

よろしくお願いします。ありがとう! –

+0

この質問に関連する(更新された参照)投稿 –

+0

vfr/Reader(検索vfr/reader Git Hub)の場合のpdfライブラリとそれを見つけることができます。デリゲートメソッドがあるかどうかは判断できませんでした。 –

関連する問題