控件通过xib,storyboard创建,初始化设置一定会调用initWithCoder awakeFromNib 加载完毕的时候肯定会调用 layoutSubviews 布局子控件 位置和尺寸 利用代码证实 先创建wlisView.xib 拖两个控件 imageView 和 Label 创建一个类 wlisView.h  并且让wlisView.xib 自定义类 class  wlisView 在wlisView.h 声明一个类方法 +(instancetype)wlisViewWith; 在…
第一.initWithNibName这个方法是在controller的类在IB中创建,但是通过Xcode实例化controller的时候用的. 第 二.initWithCoder 是一个类在IB中创建但在xocde中被实例化时被调用的.比如,通过IB创建一个controller的nib文件,然后在xcode中通过 initWithNibName来实例化这个controller,那么这个controller的initWithCoder会被调用.或者是一个 view的nib文件,类似方法创建时调用i…
1.init 与initialize 对于iOS程序,创建几个类对象,就会调用几次init.下面分别重写 举例如下: 创建一个Person类,分别重写initialize和init方法 #import "Person.h" @implementation Person +(void)initialize {  NSLog(@"%s", __FUNCTION__);   } -(instancetype)init { NSLog(@"%s", __…
当我们需要自定义一个View控件时,会有 initWithFrame.initWithCoder.awakeFromNib 这三个系统方法,关于这三个方法何时调用,如何调用,有时候可能很多人会弄混淆. 下面我会就理论结合代码举例来说明一下: 1.initWithFrame - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { NSLog(@"initWithFra…
生命周期 说到view的生命周期一般都是指视图控制器的view生命周期. view的创建:loadView 视图控制器(UIViewController)及其子类,无论是手写代码还是storyboard.xib肯定会调用loadView方法.其它的视图不会调用比如UIButton,UILabel等,因为他们不是视图控制器.下面是视图控制器被创建时会被调用的其它方法: Storyboard/XIB会调用的方法: initWithCoder awakeFromNib:此时frame还没有完成. 手写…
控制器创建的生命周期 1. 如果从stroryBoard 中产生一个controller,那么会先调用initWithCoder:, awakeFromNib, loadView,viewDidLoad,viewWillAppear,viewWillLayoutSubviews,不会调用init方法. 2. 如果从代码中产生一个ViewController,那么会调用init方法,loadView,viewDidLoad,viewWillAppear,viewWillLayoutSubviews…
一.概述 1.UIScrollView的contentSize, contentOffSet, contentInsets的作用和使用. 2.UIScrollView的一整个滚动过程的生命周期(开始滚动, 正在滚动, 结束滚动, 惯性减速结束滚动). 3.ScrollView的缩放 4.分页控件的基本实现和封装实现 二.核心 2.1 contentOffSet与contentInsets contentOffSet 作用: contentOffSet指的是内容的左上角和UIScrollView的…
一.介绍: viwe和viewController的生命周期是最基本的知识,如果很好地理解它们的方法调用的执行顺序,就能很好地设计代码的风格.这篇博客转载自:http://www.cnblogs.com/peaceWang/p/5346726.html.有时间我会在此基础上完善,具体讲述一下每一个方法中最适合执行的操作. 控制器创建的生命周期 . 如果从stroryBoard 中产生一个controller,那么会先调用initWithCoder:, awakeFromNib, loadView…
一.UIViewController 的生命周期 下面带 (NSObject)的方法是NSObject提供的方法.其他的都是UIViewController 提供的方法. load   (NSObject) initialize   (NSObject) init   (NSObject) initWithCoder initWithNibName awakeFromNib   (NSObject) loadView viewDidLoad viewWillAppear updateViewCo…
转载自:http://sunnyyoung.net/post/ios/2015-04-22-viewcontrollerde-qi-dong-liu-cheng-yu-jie-xi VIEWCONTROLLER的启动流程与解析 ViewController的启动流程: init/initWithCoder -> awakeFromNib -> loadView -> viewDidLoad -> viewWillApear -> viewDidApear init 用代码创建…