1

などのビュー要素をUIViewController含むviewControllerAがあります。ここでの質問は、これらのビュー要素を別のクラスで作成してから追加するか、それらのビュー要素を直接内に作成する必要があるかです。したがって、MVC では、別のクラス内にビュー要素を作成し、これを に追加するのは適切ではありませんか? UIButtonUILabelUIViewUIViewControllerUIViewControllerUIViewUIViewController

4

1 に答える 1

0

UIViewController でビュー階層を構築する標準的な場所は-viewDidLoadメソッドです。このメソッドは、UIViewController のビューが作成されるたびに呼び出されます。ビュー コントローラのビューは、該当する場合、NIB/ストーリーボードからロードされます。コンセントが配線されます。さらに-viewDidLoadカスタマイズを実行するように求められます。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0,0.0,100.0,40.0)];
    [self.view addSubView:aLabel];
}

Cocoa/Cocoa Touch では、たとえば Java のようにすべてをサブクラス化したいわけではありません。多くの場合、Objective-C カテゴリ、委任、事前定義されたプロパティなどの組み込みクラスの機能を拡張するための他の推奨される方法があります。

この種のことを別の方法で行うことは確かに可能ですが、これが最も「Cocoa に似た」方法です。実際、最も「Cocoa に似た」方法は、Interface Builder でビュー階層を作成することですが、プログラムで作成する場合は、これが通常の方法です。

于 2014-01-12T10:06:59.973 に答える