iPhone开发 - 在视图控制器中设置视图

时间:2009-07-31 15:00:47

标签: iphone uiview uiviewcontroller methods initialization

我正在学习没有Interface Builder(个人偏好)的iPhone开发,我不确定我应该在视图控制器的哪个功能中设置视图:init,viewDidLoad或loadView。我读到某个地方只对视图控制器使用init,如果有的话,而不是设置视图,因为它可能会导致问题。我还读到viewDidLoad仅用于从nib文件加载,但是当我尝试使用它时它起作用..那么我应该在这3种方法中添加哪些内容?

谢谢!

1 个答案:

答案 0 :(得分:2)

每种方法都有自己的用途

1)init

此方法仅用于初始化ViewController,您不需要覆盖此方法,但如果要在加载任何视图之前进行一些自定义初始化,那么这可能是一个可以执行此操作的位置。您有不同风格的init方法,您可以在Apple网站的文档中查看。

2)loadView 此方法用于以编程方式创建视图。如果没有覆盖此方法,默认情况下会为您创建一个空视图,但如果是MUSt初始化viewController.view属性,则在UIViewController视图被推入超级视图时会调用此方法。

3)viewDidLoad 在屏幕上加载视图后调用此方法(调用loadView并在超级视图或窗口上按下视图)。在这里,您可以将子视图添加到控制器视图中,还可以在视图加载后执行其他设置。无论是通过笔尖还是以编程方式进行查看,此方法都可以正常工作。