`
prevention
  • 浏览: 74831 次
社区版块
存档分类
最新评论

iOS Dev (43) 用loadView必须要注意的几点

 
阅读更多

iOS Dev (43) 用loadView必须要注意的几点

永远不要主动调用 loadView 方法

ViewController 会在 view 的属性被请求且当前 view 为 nil 时调用 loadView。

如果你是用 xib 创建 view 并初始化 ViewController,意味着你要使用 initWithNibName:bundle: 方法,则不要覆盖 loadView 方法。

如果你是手动创建 view,就要覆盖该方法。

永远不要在覆盖 loadView 方法时使用 [super loadView]

loadView 方法是查看你有木有 xib,有的话就用 xib 加载基本信息,木有的话就会创建一个空白的 UIView,然后把它作为这个 ViewController 的 view。

所以你覆盖这个函数的时候,也按照这个方式是实现就好了。只不过你不是创建一个空白的 UIView,那也没有意义。你创建一个你想要的 UIView,一定要注意这个 UIView 实例必须是给这个 ViewController 独享的(不能被其他实例共享),否则会出问题的。

在 loadView 中实例化 view,在 viewDidLoad 中自定义 view

你只需要在 loadView 时创建 view,不要对它做什么自定义的。

在内存紧张时,程序会调用 viewDidUnload 来释放内存,这个方法是与 viewDidLoad 相对的。当程序内存不那么紧张,且需要用到这个 ViewController 时,则会再次调用 viewDidLoad。

viewDidLoad 和 viewDidUnload 中的操作是相对的。

什么时候执行的 loadView 和 viewDidLoad

一般在初学时,不会用到太复杂的,会发现是在这个 ViewController 被设置为 visible 时执行的这两个方法。再进一步的解释,以后再介绍。

Reference

http://my.oschina.net/amoyai/blog/90261


转载请注明来自大锐哥的博客:http://prevention.iteye.com

分享到:
评论

相关推荐

    详解iOS App开发中UIViewController的loadView方法使用

    当你访问一个ViewController的view属性时,如果此时view的值是nil,那么,ViewController就会自动调用loadView这个方法。这个方法就会加载或者创建一个view对象,赋值给view属性。 loadView默认做的事情是:如果此...

    IOS 中loadView,viewDidLoad,viewDidUnload详解及使用

    在iOS开发中,了解UIViewController的生命周期方法至关重要,特别是`loadView`, `viewDidLoad`, 和 `viewDidUnload`。这三个方法在视图控制器的视图管理过程中扮演着不同的角色。 首先,我们来详细解读`loadView`。...

    loadView和viewdidload

    loadView和viewDidLoad、viewDidUnLoad区别

    iOS 延迟加载

    不过,使用 `NSTimer` 时要注意管理好生命周期,防止内存泄漏,以及在不需要时取消定时器。 3. **GCD(Grand Central Dispatch)** GCD是Apple提供的多线程解决方案,可以方便地实现延迟操作。使用GCD的 `dispatch_...

    IOS新手彩虹色带自动移动源代码

    这个"IOS新手彩虹色带自动移动源代码"项目就是一个理想的入门资源,它涵盖了多个关键知识点,帮助新手快速上手。 首先,我们要理解标题中的“彩虹色带自动移动”。这通常涉及到动画效果的实现,可能使用了Core ...

    iOS学习入门教程附有Demo

    在iOS中,TableView的使用涉及到以下几个关键知识点: 1. 数据源DataSource:TableView的数据是由数据源对象提供,这个对象通常是一个遵循UITableViewDataSource协议的类,需要实现诸如numberOfSectionsInTableView...

    ios自定义键盘

    以上是创建一个支持英文大小写切换、数字及部分符号输入的iOS自定义键盘的基本步骤和关键知识点。通过这个过程,你可以学习到iOS输入系统的机制、UI设计原则以及事件处理等知识。自定义键盘的开发不仅锻炼了编程技能...

    iOS 自定义textView键盘收回按钮

    在实现过程中,我们还需要注意以下几点: - 确保自定义键盘的尺寸适应不同设备和横竖屏模式。 - 考虑适配不同语言环境,如右对齐的文字布局。 - 为了保持良好的用户体验,确保键盘的收起操作流畅无卡顿。 在`...

    ios-自定义CALayer.zip

    在iOS开发中,CALayer是UI层的核心组件,它负责绘制和动画的实现。自定义CALayer能够让我们根据特定需求创建独特的视觉效果。本示例中的"ios-自定义CALayer.zip"是一个教学项目,旨在指导开发者如何通过自定义...

    ios 一个窗口使用多个xib

    标题“ios 一个窗口使用多个xib”表明我们要讨论的是如何在一个UIApplication的主窗口上加载并管理多个XIB文件,从而创建复杂或分层的用户界面。这个主题通常涉及到UIViewController的子类化、XIB的加载机制以及视图...

    ios应用源码之一个简单的空白页面demo 2018127

    在iOS开发中,创建一个空白页面的Demo是一个基础但至关重要的步骤,它是任何应用程序的起点。这个"ios应用源码之一个简单的空白页面demo 2018127"正是这样一个实例,它展示了如何从零开始构建一个基本的iOS应用。让...

    ios_storyboard_helloworld实例

    在iOS应用开发中,`Storyboard`是苹果引入的一种可视化布局工具,它允许开发者在单一的图形界面中设计、组织和连接应用的多个视图控制器。本实例“ios_storyboard_helloworld”将指导我们如何利用`Storyboard`来创建...

    IOS应用源码——SFContainerViewController for iOS.rar

    SFContainerViewController的核心功能可能包括以下几点: 1. **子控制器管理**:SFContainerViewController可能提供了一种机制,用于加载、卸载、插入和删除子控制器。这通常涉及到 `-addChildViewController:`、`-...

    iOS中的View Controller Lifecycle

    在iOS开发中,View Controller(视图控制器)生命周期是开发者必须深入理解的重要概念。View Controller是Apple提供的一个关键组件,用于管理屏幕上的UI元素和用户交互。本文将详细阐述iOS中View Controller生命周期...

    iOS Panel 效果,支持拖动,也支持定位展示.zip

    在iOS开发中,面板效果(Panel)是一种常见的UI设计元素,通常用于显示额外的信息或提供扩展功能。这种效果可以被用户拖动以改变位置,也可以根据需求定位展示,为用户提供灵活的操作体验。本文将深入探讨如何在iOS...

    iOS 工程师面试题

    iOS工程师面试题主要涵盖了许多核心概念和技术,包括内存管理、对象通信、生命周期管理、文件操作、类声明与实现、视图层次、用户交互以及多线程等。以下是对这些知识点的详细解释: 1. **属性作用**:readwrite和...

    福昕软件招聘iOS开发工程师面试题

    1. UIViewController调用顺序:`initWithNibName:bundle:` -> `loadView` -> `viewDidLoad` -> 使用视图 -> `viewDidUnload` -> `dealloc`。`initWithNibName:bundle:`初始化,`loadView`加载视图,`viewDidLoad`...

    ios中文开发教程资料全收录

    当自定义`initWithFrame:` 方法时,需要注意以下几点: - 如果你想重写`initWithFrame:`,应该确保调用`super`的方法。例如,在UIView中,正确的做法是`self = [super initWithFrame:frame];`。 - `loadView` 方法会...

Global site tag (gtag.js) - Google Analytics