【问题标题】:what to call viewDidLoad or loadview什么叫 viewDidLoad 或 loadview
【发布时间】:2009-05-21 17:56:16
【问题描述】:

我有一个从 .nib 文件加载的视图控制器类。但是,我还想以编程方式向该视图添加控件(如 UISwitch)(UISwitch 未添加到 nib 文件中)。我应该在代码的哪个部分分配 UISwitch 控件、viewDidLoad 或 loadView 方法?

【问题讨论】:

    标签: iphone


    【解决方案1】:

    我会在 viewDidLoad 上执行此操作。肯定的。

    来自 Apple 的文档:

    讨论 该方法仅被调用 当 view 属性为 nil 并且它 需要显示。你不应该 直接调用这个方法。

    如果您创建该视图的视图 控制器以编程方式管理, 那么你应该重写这个方法 创建您的视图。默认 实现创建一个 UIView 对象 没有子视图。

    但是,如果您初始化视图 使用 nib 文件——也就是说,你设置 thenibName 和 nibBundle 属性——那么你不应该 覆盖此方法,因为 默认实现已经重新加载 笔尖文件。而是覆盖 viewDidLoad 方法设置任何 nib 文件后的属性是 已加载。

    在您的情况下,UIView 是从 NIB 文件创建的。

    【讨论】:

      【解决方案2】:

      使用viewDidLoad。此外,您应该删除您在 viewDidUnload 方法中添加的所有内容。

      【讨论】:

        【解决方案3】:

        如果您从 NIB 加载,实现 loadView 将导致错误。使用viewDidLoad。正如 Pablo 所说,Apple 对此进行了详细记录。

        【讨论】:

          猜你喜欢
          • 2011-03-26
          • 2011-07-07
          • 2023-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-13
          • 2013-06-12
          • 1970-01-01
          相关资源
          最近更新 更多