1

我有一个UIViewController说 viewControllerA 包含一些视图元素UIButton,例如UILabel等。现在我的问题是我应该在单独的UIView类中创建这些视图元素然后添加UIViewController,还是应该直接在UIViewController. 根据 MVC,在单独的UIView类中创建视图元素然后将其添加到中是否合适UIViewController

4

1 回答 1

0

在 UIViewController 中构建视图层次结构的标准位置是在-viewDidLoad方法中。每当创建 UIViewController 的视图时,都会调用该方法。如果适用,将从 NIB/Storyboard 加载视图控制器的视图;你的插座将被连接起来;然后-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”的方式是在 Interface Builder 中创建视图层次结构,但如果您想以编程方式进行,这是通常的方式。

于 2014-01-12T10:06:59.973 回答