我对界面构建器感到非常沮丧,现在尝试通过代码创建我的视图控制器。我已经成功设置了窗口,并创建了导航控制器并将其添加为根视图控制器...
我不确定应该从哪里开始添加按钮并设置它们的目标...
我应该把做这件事的代码放在UIViewController的子类中,还是其他地方更好?
另外一旦我完成这个任务...最好的放置自动布局约束的位置是哪里?
任何帮助都将不胜感激。
我对界面构建器感到非常沮丧,现在尝试通过代码创建我的视图控制器。我已经成功设置了窗口,并创建了导航控制器并将其添加为根视图控制器...
我不确定应该从哪里开始添加按钮并设置它们的目标...
我应该把做这件事的代码放在UIViewController的子类中,还是其他地方更好?
另外一旦我完成这个任务...最好的放置自动布局约束的位置是哪里?
任何帮助都将不胜感激。
- (void)viewDidLoad
{
[super viewDidLoad];
...
UIButton* newButton = [UIButton buttonWithType:...];
// other button config (including constraints)
[self addSubview:newButton];
...
// create and setup other subviews
}
UIViewController
(或者UITableViewController
等)。这样每个视图控制器的逻辑就都包含在它自己的类中。viewDidLoad
方法(不要忘记调用[super viewDidLoad];
),来创建、设置和添加视图控制器所需的所有子视图。这也是你设置每个子视图约束条件或自动调整掩码的地方。viewWillLayoutSubviews
方法中进行。UIViewController
的loadView
方法并在那里设置整个视图。他们甚至提到了设置约束的内容。我认为您可以在视图加载后设置它们,因为如果您不覆盖该函数,它会给您一个空视图,但我想按照苹果建议的方式来做,以确保安全。- (void)loadView
{
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
UIView *contentView = [[UIView alloc] initWithFrame:applicationFrame];
contentView.backgroundColor = [UIColor blackColor];
self.view = contentView;
levelView = [[LevelView alloc] initWithFrame:applicationFrame viewController:self];
[self.view addSubview:levelView];
}