Xcodeに付属し、 http: //developer.apple.com/library/ios/#documentation/iPhone/Conceptual/SecondiOSAppTutorial/で参照されているMaster-Detailプロジェクトテンプレートを使用しています。
問題:このテンプレートに付属してUIViewController
いるデフォルトにを追加する方法を理解しようとしています。UINavigationController
DetailEditViewController
具体的には、 afterを追加したいと思いDetailViewController
ます。これまでにこの効果に対して行ったことは次のとおりです。
でDetailViewController
編集ボタンを追加しましたnavigationItem
:
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.rightBarButtonItem =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit
target:self
action:@selector(editDetailItem:)];
[self configureView];
}
editDetailItem:
あなたはそれが私が次のように実装したメッセージセレクターを指定しているのを見ることができます:
- (void)editDetailItem:(id)sender
{
[self.navigationController pushViewController:
[[DetailEditViewController alloc] init] animated:YES];
}
ストーリーボードでを作成しましたがDetailEditViewController
、コードはクラッシュせずに実行され、詳細に戻るためのナビゲーションアイテムを含む黒い空白のウィンドウが生成されます。ここから私はかなり混乱しています:
- 新しいViewControllerをストーリーボードにドラッグすると、対応するコードファイルが作成されません。これらのコントローラーのコードファイルを作成する責任はありますか?Storyboard ViewControllerがIdentityInspectorのクラスに関連付けられているのがわかりますが
UIViewController
、ストーリーボードにドラッグしたときに、なぜ新しいテンプレートが作成されないのでしょうか。 -pushViewController
からDetailViewController
移動する代わりに、セグエを使用する必要がありDetailEditViewController
ますか?もしそうなら、ストーリーボードに1つ追加する方法がわかりません。これは、navigationItem
'sUIBarButtonItem
がすべてコード内に追加されているためです。Ctrlキーを押しながらドラッグするものは何もありません。DetailViewController
からに情報を送信するにはどうすればよいDetailEditViewController
ですか?にMasterViewController
セグエするとき、それは経由をDetailViewController
指定しますsender
- prepareForSegue:sender: