放置UIViewController的设置代码的最佳位置在哪里;

时间:2013-08-22 23:01:39

标签: ios objective-c uiviewcontroller

我对界面构建器感到非常沮丧,我正试图在代码中创建我的视图控制器。我已设法设置窗口并创建导航控制器并将其添加为根视图控制器...

我不太确定应该从哪里开始添加按钮并设置目标......

我应该在UIViewController的子类中放置代码,还是在其他地方更好?

此外,一旦我完成了这个......放置自动布局限制的最佳位置是什么?

任何帮助都将不胜感激。

3 个答案:

答案 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