Jon*_*an. 3 iphone objective-c
我知道这里有一个看似完全相同的问题:iPhone SDK:loadView和viewDidLoad有什么区别? 但是,我已经阅读了这个问题,但仍未完全回答.我没有使用IB,因为UI是动态的.
因此,我应该创建self.view,然后在loadView中添加子视图.
或者我应该在loadView中创建self.view并在viewDidLoad中添加子视图?#
Run*_*oop 15
从NIB加载视图并希望在启动后执行进一步的自定义时,请使用viewDidLoad.
如果要以编程方式创建视图(不使用Interface Builder),请使用loadView.
对于您的具体问题,您应该在 viewDidLoad 中添加子视图。因为,如果您覆盖 loadView,则必须完成所有工作,加载所有视图。
\n\n以下是Apple 文档中的解释:
\n\n负载循环期间发生的步骤如下:
\n\n\n\n1.
\n\nRun Code Online (Sandbox Code Playgroud)\n\n* Some part of your application asks for the view in the view\ncontroller\xe2\x80\x99s 视图属性。
\n\n2.
\n\nRun Code Online (Sandbox Code Playgroud)\n\n* If the view is not currently in memory, the view controller calls its loadView\n方法。
\n\n3.
\n\nRun Code Online (Sandbox Code Playgroud)\n\n* The loadView method does one of the following:\n\n If you override this method, your implementation is\n负责创建所有必需的视图并为视图属性分配一个非零值。
\n\nRun Code Online (Sandbox Code Playgroud)\n\nIf you do not override this method, the default implementation uses \n视图控制器的 nibName 和 nibBundle 属性尝试从指定的 nib 文件加载视图。如果未找到指定的 nib 文件,则会查找名称与视图控制器类的名称匹配的 nib 文件并加载该文件。
\n\nRun Code Online (Sandbox Code Playgroud)\n\nIf no nib file is available, the method creates an empty UIView object \n并将其分配给视图属性。
\n\n4.
\n\nRun Code Online (Sandbox Code Playgroud)\n\n* The view controller calls its viewDidLoad method to perform any\n额外的加载时任务。
\n
| 归档时间: |
|
| 查看次数: |
5003 次 |
| 最近记录: |