0

新しいナビゲーション ベースのアプリケーション プロジェクトを作成しました。その後、MainWindow.xib で、ナビゲーション バーにボタンを追加しました。UITableView の配列にオブジェクトとして追加される情報を入力できる画面に新しいビューをプッシュしたいと思います。

しかし、ボタンをリンクする IBAction をどこに記述すればよいかわかりません (Appdelegate または RootViewController)。スクリーンショットでわかるように、RootViewController は単なるテーブルであり、ナビゲーションが含まれていないため、これは MainWindow.xib にあります。しかし、MainWindow.xib のドキュメント ビューでは、RootViewController の下にあります。

XIB 内にも新しいビュー コントローラーを作成し、そのための IBOutlet を作成する必要がありますか?

コードを AppDelegate 内に配置して、ボタンをデリゲートに参照しようとしましたが、機能しません。

助けてください。前もって感謝します。

ここのスクリーンショットを参照してください: http://i56.tinypic.com/5djbcm.png

4

1 に答える 1

1

「このアクションはどこに属しているか」という質問を自問する場合、コントローラーはアプリ内のイベント フローを処理するため、コントローラーである可能性が最も高くなります。次の質問 - 「このアクションが発生したときに担当するコントローラーは? このアクションに最も関心のあるコントローラーは?」. あなたの場合の答えは、ルートテーブルコントローラー(RootViewControllerインスタンス)です。IBActionフォーム コントローラー (情報の入力に使用するコントローラー) をナビゲーション コントローラーにプッシュするメソッドを作成します。

// somewhere in RootViewController.m
- (IBAction)addNewEntry {
    NewEntryFormController *c = [[[NewEntryFormController alloc] init] autorelease];
    // ...

    [self.navigationController pushViewController:c animated:YES];
}
于 2011-03-15T20:13:09.580 に答える