init:方法
在init方法中实例化必要的对象(遵从LazyLoad思想)
init方法中初始化ViewController本身
loadView:方法
这是当没有正在使用nib视图页面,子类将会创建自己的自定义视图层。绝不能直接调用。
如果手工维护views,必须重载重写该方法。
当view需要被展示而它却是nil时,viewController会调用该方法。
loadView和IB构建view
你在控制器中实现了loadView方法,那么你可能会在应用运行的某个时候被内存管理控制调用。 如果设备内存不足的时候, view 控制器会收到didReceiveMemoryWarning的消息。 默认的实现是检查当前控制器的view是否在使用。 如果它的view不在当前正在使用的view hierarchy里面,且你的控制器实现了loadView方法,那么这个view将被release, loadView方法将被再次调用来创建一个新的view。
viewDidLoad:方法
在视图加载后被调用:
如果是在代码中创建的视图加载器,他将会在loadView方法后被调用;
如果是从nib视图页面输出,他将会在视图设置好后后被调用。
重载重写该方法以进一步定制view
在iPhone OS 3.0及之后的版本中,还应该重载重写viewDidUnload来释放对view的任何索引
viewDidLoad后调用数据Model
viewDidUnload:方法
当系统内存吃紧的时候会调用该方法(注:viewController没有被dealloc)
内存吃紧时,在iPhone OS 3.0之前didReceiveMemoryWarning是释放无用内存的唯一方式,但是OS 3.0及以后viewDidUnload方法是更好的方式
在该方法中将所有IBOutlet(无论是property还是实例变量)置为nil(系统release view时已经将其release掉了)
在该方法中释放其他与view有关的对象、其他在运行时创建(但非系统必须)的对象、在viewDidLoad中被创建的对象、缓存数据等 release对象后,将对象置为nil(IBOutlet只需要将其置为nil,系统release view时已经将其release掉了)
一般认为viewDidUnload是viewDidLoad的镜像,因为当view被重新请求时,viewDidLoad还会重新被执行
viewDidUnload中被release的对象必须是很容易被重新创建的对象(比如在viewDidLoad或其他方法中创建的对象),不要release用户数据或其他很难被重新创建的对象
dealloc:方法
viewDidUnload和dealloc方法没有关联,dealloc还是继续做它该做的事情
viewWillAppear: 方法
Called when the view is about to made visible. Default does nothing
视图即将可见时调用。默认情况下不执行任何操作
viewDidAppear:
Called when the view has been fully transitioned onto the screen. Default does nothing
视图已完全过渡到屏幕上时调用
viewWillDisappear:
Called when the view is dismissed, covered or otherwise hidden. Default does nothing
视图被驳回时调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作
viewDidDisappear:
Called after the view was dismissed, covered or otherwise hidden. Default does nothing
视图被驳回后调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作
分享到:
相关推荐
1. **UIView基本概念**:`UIView`是所有UI元素的基类,包括按钮、文本框、标签等。它负责在屏幕上绘制内容,管理子视图的布局,并处理触控事件。 2. **视图层次**:`UIView`具有子视图的概念,可以通过`addSubview:...
总结来说,《iPhone开发揭秘》这本书通过介绍iPhone程序的基本框架、非游戏框架的开发流程、OpenFlow编程技术以及UIViewController和UIView的管理,为初学者提供了一条清晰的iOS应用开发入门之路。对于想要深入学习...
其次,iOS应用的界面设计离不开UIKit框架,包括UIWindow、UIViewController、UIView、UILabel、UIButton等基本UI组件。理解这些组件的工作原理和交互方式对于创建用户友好的界面至关重要。此外,Auto Layout和Size ...
首先,我们要理解`UIView`动画的基本概念。`UIView`动画是iOS系统提供的一个轻量级动画框架,它允许开发者在短时间内改变视图的属性,如位置、大小、透明度等,从而创造出平滑的过渡效果。这种动画是基于Core ...
本示例程序“iPhone之手动切换View示例程序”旨在帮助开发者理解和实践这一核心概念。通过这个项目,我们可以深入学习如何在不使用Storyboards或者 segues 的情况下,通过代码来实现View之间的切换。 首先,我们要...
除了以上所述,还要了解一些基本的用户交互设计原则,比如触摸反馈、过渡动画以及手势识别。例如,滑动手势(UISwipeGestureRecognizer)可以用于导航或切换页面,轻扫手势(UIPanGestureRecognizer)常用于拖动视图...
1. **多任务处理**:虽然真正的多任务处理是在后来的版本中才全面实现的,但iPhone OS 3已经提供了一些基本的支持,如后台音乐播放等。 2. **剪贴板**:增强了系统的复制粘贴功能,使得用户可以更方便地在不同应用...
《iPhone应用程序编程指南》是一本面向开发者的重要参考资料,旨在帮助读者深入理解如何为Apple的iOS平台开发应用程序。这本书的中文版使得更多的中国开发者能够轻松掌握iOS应用开发的技术和技巧。 在iPhone应用...
以上就是如何在Objective-C中将一个UIView加载到键盘上方的基本步骤。记得在不再需要观察键盘通知时,要移除观察者以避免内存泄漏: ```objc - (void)dealloc { [[NSNotificationCenter defaultCenter] ...
虽然现代iOS使用了ARC(Automatic Reference Counting),但理解内存管理的基本原则仍然重要。 7. **Core Data**:苹果的持久化框架Core Data,用于存储和检索数据。掌握如何创建数据模型、设置关系、执行查询是...
在iPhone应用中,我们通常会创建一个自定义的UIView子类,比如`PieChartView`,在这个子类中重写`draw(_:)`方法,以便在需要时进行饼图的绘制。在`draw(_:)`方法中,我们可以根据数据计算每个扇形的角度,并使用`...
学习Objective-C时,首先需要理解类、对象、方法、属性等基本概念,以及如何通过@interface和@implementation来定义和实现类。 在iPhone应用开发中,开发者通常使用Xcode作为集成开发环境(IDE),它提供了强大的...
在深入探讨iPhone UIKit之前,我们需要理解它的重要性:UIKit提供了一系列的类和接口,用于创建用户界面、处理用户交互,以及管理应用的生命周期。它是开发iOS应用的基础,几乎每一个面向用户的元素,从按钮和标签到...
"iPhone协议的例子"这个Demo主要是为了展示如何在实际应用中使用协议,帮助开发者更好地理解和应用这一特性。 首先,协议在iOS开发中扮演的角色类似于接口或者契约。它允许你定义一个对象需要执行的操作,而无需...
通过这份“iPhone UIKit详解源代码”,开发者不仅可以了解UIKit的基本用法,还能深入学习到iOS开发中的高级技巧,包括性能优化、内存管理、多线程等方面。这将有助于开发者构建出更加稳定、高效的iOS应用,提升用户...
理解这些基本概念后,开发者就可以逐步构建起复杂的用户界面和交互逻辑。 总的来说,iPhone开发入门需要掌握硬件平台、操作系统特性、编程语言、设计模式以及开发工具的使用。通过不断实践和学习,新手可以逐渐熟练...
### iPhone开发之窗口和视图 #### 一、引言 在iPhone应用程序开发过程中,窗口和视图扮演着至关重要的角色。它们不仅是构建用户界面的基础元素,还是与用户交互的关键通道。本文旨在深入探讨窗口和视图的概念及其...
也可以利用`UIView`的`animate(withDuration:animations:)`方法,通过多次调用来实现连续旋转的效果。 3. **渐变动画**:渐变动画主要分为颜色渐变和透明度渐变。颜色渐变可以通过修改`CALayer`的`backgroundColor`...
总之,"iPhone 4与iPad开发基础教程代码"旨在引导初学者掌握iOS开发的基本技能,通过实际的代码示例,理解如何针对不同设备进行优化,以及如何利用iOS SDK中的各种框架和功能来构建功能丰富的应用。在学习过程中,...