我对界面构建器感到非常沮丧,我正试图在代码中创建我的视图控制器。我已设法设置窗口并创建导航控制器并将其添加为根视图控制器...
我不太确定应该从哪里开始添加按钮并设置目标......
我应该在UIViewController的子类中放置代码,还是在其他地方更好?
此外,一旦我完成了这个......放置自动布局限制的最佳位置是什么?
任何帮助都将不胜感激。
答案 0 :(得分:4)
每个视图控制器子类都应创建并释放自己的按钮,控件,子视图等。
您可以通过覆盖此UIViewController
方法
- (void)viewDidLoad
{
[super viewDidLoad];
...
UIButton* newButton = [UIButton buttonWithType:...];
// other button config (including constraints)
[self addSubview:newButton];
...
// create and setup other subviews
}
答案 1 :(得分:2)
每个视图控制器都应该是自己的自定义类,扩展UIViewController
(或UITableViewController
等)。这样,每个视图控制器的所有逻辑都包含在它自己的类中。
我所做的是覆盖viewDidLoad
(不要忘记调用[super viewDidLoad];
)来创建,设置和添加视图控制器所需的所有子视图。这也是您设置每个子视图的约束或自动调整遮罩的地方。
如果您需要进行任何自定义布局,请使用viewWillLayoutSubviews
方法执行此操作。
答案 2 :(得分:0)
非常感谢您帮助我。我一直在搜索有关该主题的苹果文档,并发现苹果希望您覆盖loadView
的{{1}}方法并在那里设置整个视图。他们甚至说了一些关于设置约束的事情。我认为你可以在视图中设置它们加载,因为如果你不覆盖它会给你一个空视图的功能,但我认为我会安全,并按照苹果所说的方式去做。
如果我已经把你的时间浪费了,我很抱歉。在问这个问题之前,我应该多看看。
UIViewController