とにかく、1つのxibに複数のビューを設定して、それらを適切に初期化するにはどうすればよいですか?カスタムビューの1つを画面の中央に表示したい場合、どうすればよいですか?
UIView
xibには必要な数のを含めることができます。通常、1つを「プライマリ」ビュー(ファイル所有者のビュープロパティ(つまり、ビューコントローラ)に接続されているビュー)にし、残りは同じレベルのxibに配置できます。ビューコントローラの他のプロパティにそれらを接続することもできます。
これらのビューをメインビューのサブビューとして作成できます。(いくつか、それは多くの見解です)。FooView
2つのビューがあるとしましょうBarView
。あなたFooView
はスタートアップに立ち会いたい。BarView
つまり、IBに非表示に設定しただけです。次に、ViewControllerは次のようになります。
@interface MyViewController : UIViewController
{
FooView* fooView;
BarView* barView;
...
}
...
@property (nonatomic, retain) IBOutlet FooView* fooView;
@property (nonatomic, retain) IBOutlet BarView* barView;
...
次に、コード内でビューを変更する場合は、setHidden:
メソッドを使用して一方を非表示にし、もう一方を表示します。
または、ビューを複数のxibに分割する場合、IBOutlets / IBActionsの同じコントローラーオブジェクトを参照させるにはどうすればよいですか?
同じViewControllerを共有する他のxibを持つことができます。私はそれを自分でたくさんやりました。ファイル所有者を適切なクラスに設定するだけです。