* 1.首先判断控制器是否有视图,如果没有就调用loadView方法创建:通过storyboard或者代码: * 2.随后调用viewDidLoad,可以进行下一步的初始化操作:只会被调用一次: * 3.在视图显示之前调用viewWillAppear:该函数可以多次调用: * 4.视图viewDidAppear * 3.在视图显示之前调用viewWillDisappear:该函数可以多次调用: 如需要): * 5.在布局变化前后,调用viewWill/DidLayoutSubviews处理相关信…
在介绍四大对象的那篇博客中,可以基本了解到程序启动的过程: main-->UIApplicationMain-->创建UIApplication的实例和app代理AppDelegate的实例并设置好代理--->在程序启动后,也就是启动画面显示之后, AppDelegate创建UIWindow(可以是自动创建的,也可以手动创建) 现在讨论的问题是,如何创建控制器并设置为UIWindow的根控制器,然后加载出控制器中的view并显示出来. 本文目录 1.创建控制器的三种方式 2.控制器的vi…
一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // 创建导航控制器 // 导航控制器必须要有一个根控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; // 会调用push方法 // initWithRoot…
一.介绍: viwe和viewController的生命周期是最基本的知识,如果很好地理解它们的方法调用的执行顺序,就能很好地设计代码的风格.这篇博客转载自:http://www.cnblogs.com/peaceWang/p/5346726.html.有时间我会在此基础上完善,具体讲述一下每一个方法中最适合执行的操作. 控制器创建的生命周期 . 如果从stroryBoard 中产生一个controller,那么会先调用initWithCoder:, awakeFromNib, loadView…
View生命周期相关方法 View是什么?官方源码注释中的定义:这个类是用户接口的基础构件.View表示屏幕上的一块矩形区域,负责绘制这个区域和事件处理. View是所有widget类的基类,Widget类用于创建交互式UI构件(按钮,输入框等). View类的ViewGroup子类是layout的基类,Layout是一个不可见的容器,它保存着View(或ViewGroup)并定义这些View的layout 属性. 简单点说,View就是屏幕上的一块矩形区域,我们可以在这块区域绘制我们想让用户看…
当一个进入一个新viewController的时候,viewController的view的生命周期一般是这样的: 1.先判断内存是否有这个View a.没有的话:生命周期为loadView->viewDidLoad->viewWillAppear->viewDidAppear->viewWillDisAppear->viewDidDisAppear 注:(1)loadView一半不需要重写,除非这个ViewController没有任何的nib与他关联,需要在loadView…
view的生命周期如下(按顺序) -(void)loadView 用代码初始化的时候,第一个调用该方法.可以在这里面addSubView. -(void)viewDidLoad 初始化时一些数据的设置setUp. -(void)viewWillAppear view 即将出现(每次view出现的时候都会调用) -(void)viewWillLayoutSubviews 初始化的时候,默认什么也不做.当view(包括subViews)的bounds发生变化的时候会调用,可以用来布局(Tip:此方法…
0.前言 今天看到一个概念是View的生命周期,有点懵逼,听说过Activity的生命周期,Fragment的生命周期,对View的生命周期好像没什么概念啊.难道layout.draw这些也算是生命周期的方法吗?因此查阅.整理了一些资料,有了此文. 1.View生命周期相关方法 View的生命周期从构造方法开始依次执行以下几个方法,该View的可见性为默认值时: (0)Constructors() View在代码中被创建时调用第一种构造方法,View从layout中加载出来时会被调用第二种构造方…
一.介绍 前面介绍了VC的生命周期,闲着没事也来捋一捋View的生命周期,简单用两个类型的View来监测.一个View纯代码创建,另一个View使用Xib创建. 二 .代码 MyCodeView:  // // MyCodeView.m // 生命周期 // // Created by 夏远全 on 2019/11/3. // Copyright © 2019 Beijing Huayue Education Technology Co., Ltd. All rights reserved. /…
(void)awakeFromNib; 这个方法用的时候,outlet还没有连接起来,是view Controller刚从storyboard建的时候,没有完全建好,不过可能有一些事情要在这个方法里面完成,比如splitViewDelegate,需要在非常早期完成. - (void)viewDidLoad; 用这个的时候,ViewController已经完全好了,outlet也已经连接好了.但是还没有在屏幕上显示出来. 这个方法里面可以放很多设置的代码. 这个方法执行的时候,view的bound…