0

違いがわかりません。新しい xcode 4 (私は最新の 4.4.1 を持っています) がリリースされたので、購入したいくつかの本をたどることができず、道に迷っています。

本では、myprogramViewController.xib をクリックする必要があると書かれていますが、表示されない新しい xcode では、作成する必要がありますか?

また、MainWindow.xib がありません (ただし、既に作成したものです)。本には、myapplicationViewController.m と myapplicationViewController.h を開いていくつかの変更を加えることが記載されています (これは同じ ViewController.m と myapplicationViewController.m であり、 .hのものと同じです)私は混乱しています。

では、ボタンやラベルなどをどこにドラッグすればよいのでしょうか? MainWindow または ViewController で? (しかし、ViewController を作成する必要がありますか?) ViewController.m と ViewController.h しかないため、.xib を参照していますが、.xib はありません。

助けが必要です、みんなありがとう!

PS: シングルビュー アプリケーションを使用しています。

4

1 に答える 1

1

Xcode 4.3+ から新しいシングル ビュー iOS アプリを作成する場合、デフォルトはありませんViewController.xib。代わりに、MainStoryboard_*.storyboardラベル、ボタン、またはその他の UI 要素を追加できるルート ビュー コントローラーが含まれています。

このルート ビュー コントローラの ID はであり、 で定義されたサブクラスViewControllerを参照します。ストーリーボードのルート ビュー コントローラーにボタンを追加すると、CTRL キーを押しながらドラッグしてアウトレット (UI 要素とインスタンス プロパティ間の接続) を作成し、.UIViewControllerViewController.h/mViewController.hViewController.m

次のスクリーンショットを見てみましょう。

ここに画像の説明を入力

ルート ビュー コントローラーに Round Rect Button を追加し、[Assistant editor] をクリックして CTRL + ドラッグしViewController.h、アウトレットに「button」という名前を付けました。次に、-viewDidLoadメソッドで次のようなことができます。

[_button setTitle: @"myTitle" forState: UIControlStateNormal];

編集

私の知る限り、ストーリーボードのファイル所有者はいません。各ビュー コントローラーは、独自のサブクラス インスタンスで個別にインスタンス化され、そのサブビューを使用しUIViewControllerてそれぞれにアクセスできます。したがって、「暗黙のファイル所有者」は AppDelegate です。AppDelegate.mself.window.rootViewController

このようなストーリーボード ベースのチュートリアルに従うことができます。個人的には、暗示的なものが多すぎるため、ストーリーボードを使用するのは好きではありません。ページごとに 1 つの xib (ビュー コントローラー) があり、appDelegate でインスタンス化されたメイン ルート ビューコントローラーとは別にロードします。

ストーリーボードなしでどのように機能するかを確認するために、Xcode では、プロジェクトの作成時にストーリーボードを使用しないオプションが用意されています。から簡単にViewController.xib/h/mインスタンス化されAppDelegateます。

于 2012-08-14T00:40:41.707 に答える