美文网首页
视图的生命历程

视图的生命历程

作者: 人生路02 | 来源:发表于2016-06-24 08:50 被阅读19次

视图的生命历程

请看这里

1. -[ViewController initWithCoder:]或-[ViewController initWithNibName:Bundle]:首先从归档文件中加载UIViewController对象。即使是纯代码,也会把nil作为参数传给后者。
2. -[UIView awakeFromNib]:作为第一个方法的助手,方便处理一些额外的设置。
3. -[ViewController loadView]:创建或加载一个view并把它赋值给UIViewController的view属性
4. -[ViewController viewDidLoad]:此时整个视图层次(view hierarchy)已经被放到内存中,可以移除一些视图,修改约束,加载数据等
5. -[ViewController viewWillAppear:]:视图加载完成,并即将显示在屏幕上,还没有设置动画,可以改变当前屏幕方向或状态栏的风格等。
6. -[ViewController viewWillLayoutSubviews]:即将开始子视图位置布局
7. -[ViewController viewDidLayoutSubviews]:用于通知视图的位置布局已经完成
8. -[ViewController viewDidAppear:]:视图已经展示在屏幕上,可以对视图做一些关于展示效果方面的修改。
9. -[ViewController viewWillDisappear:]:视图即将消失
10. -[ViewController viewDidDisappear:]:视图已经消失

如果考虑UIViewController可能在某个时刻释放整个view。那么再次加载视图时显然会从步骤3开始。因为此时的UIViewController对象依然存在。

总结

  1. 只有init系列的方法,如initWithNibName需要自己调用,其他方法如loadView和awakeFromNib则是系统自动调用。而viewWill/Did系列的方法则类似于回调和通知,也会被自动调用。
  2. 纯代码写视图布局时需要注意,要手动调用loadView方法,而且不要调用父类的loadView方法。纯代码和用IB的区别仅存在于loadView方法及其之前,编程时需要注意的也就是loadView方法。
  3. 除了initWithNibName和awakeFromNib方法是处理视图控制器外,其他方法都是处理视图。这两个方法在视图控制器的生命周期里只会调用一次。

相关文章

  • 视图的生命历程

    视图的生命历程 请看这里 如果考虑UIViewController可能在某个时刻释放整个view。那么再次加载视图...

  • 视图的生命历程和 TableView设置默认选中状态

    UITableView 和 UICollectionView 设置默认选中状态// UITableViewNSIn...

  • 生命的历程

    当约翰想到基督之爱时,不禁惊叹说:“你看父赐给我们是何等的慈爱,使我们得称为上帝的儿女。”

  • 生命的历程

    作者:宗德云 生命所经历的每一个历程,在路上所丢失的一切都回不来了。那也去的时光已经不属于任何的轮回,擦肩而过的背...

  • 生命的历程

    人的一生很短,短的还没来的及拥抱夏日的炎热就已进入了秋天,还沒有体验全生命的酸甜苦辣,就已日墓西垂,抓住生命,过好这一。

  • 生命的历程!

    人的生命历程就像一列行驶的火车,亲人会一直陪伴你走向终点。 而有的亲人会在其中一个驿站下车,结束和...

  • 生命的历程

    今天陪小儿子去同学家串门。 同学的家住在一个中学家属院里,院子是一种典型的学校氛围,水泥墙面楼...

  • 生命的历程

    距离我三十三岁的生日,还有四天…今天,是我白班当值的时间,只是,不同于往日的是,今天,他做了代理内钳的工作,简单的...

  • 生命的历程

    生命的历程,是立体的坐标,是前行和升华的结合。人生是正弦线,总有起起落落,有高峰就有低谷。 人生不可能像平行的直线...

  • 生命的历程

    生命的历程; 出没风波 我们在经历生活 昨天能够饱尝风雨 今天也许成熟很多 不可轻视一个个昨天 里边的点滴都是我们...

网友评论

      本文标题:视图的生命历程

      本文链接:https://www.haomeiwen.com/subject/insodttx.html