iOS:捋一遍View的生命周期】的更多相关文章

一.介绍 前面介绍了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. /…
一.介绍 UIViewController是iOS开发中的核心控件,没有它那基本上任何功能都无法实现,虽然系统已经做了所有控件的生命维护,但是,了解它的生命周期是如何管理还是非常有必要的.网上有很多教程,别人写的始终是别人的,自己动手实践一下,理解才能更深刻,本文就来捋一遍VC的生命周期. 二.思路 通过三个VC,第1个VC是storyBoard创建的,第2个VC是纯code创建的,第3个是xib创建的.分别称为BoardInitViewController.CodeInitViewContro…
一.介绍: viwe和viewController的生命周期是最基本的知识,如果很好地理解它们的方法调用的执行顺序,就能很好地设计代码的风格.这篇博客转载自:http://www.cnblogs.com/peaceWang/p/5346726.html.有时间我会在此基础上完善,具体讲述一下每一个方法中最适合执行的操作. 控制器创建的生命周期 . 如果从stroryBoard 中产生一个controller,那么会先调用initWithCoder:, awakeFromNib, loadView…
一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // 创建导航控制器 // 导航控制器必须要有一个根控制器 UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; // 会调用push方法 // initWithRoot…
在介绍四大对象的那篇博客中,可以基本了解到程序启动的过程: main-->UIApplicationMain-->创建UIApplication的实例和app代理AppDelegate的实例并设置好代理--->在程序启动后,也就是启动画面显示之后, AppDelegate创建UIWindow(可以是自动创建的,也可以手动创建) 现在讨论的问题是,如何创建控制器并设置为UIWindow的根控制器,然后加载出控制器中的view并显示出来. 本文目录 1.创建控制器的三种方式 2.控制器的vi…
当一个进入一个新viewController的时候,viewController的view的生命周期一般是这样的: 1.先判断内存是否有这个View a.没有的话:生命周期为loadView->viewDidLoad->viewWillAppear->viewDidAppear->viewWillDisAppear->viewDidDisAppear 注:(1)loadView一半不需要重写,除非这个ViewController没有任何的nib与他关联,需要在loadView…
IOS的工程目录结构和生命周期 ·simple table文件夹:工程相关源代码和配置文件 BIDAppDelegate :    委托的声明和实现 BIDViewController:    视图控制类的声明和实现 xib文件:  视图文件,提供给interface builder(IB)设计和编辑视图 ·supporting files: main.m和资源文件 xxx-info.plist:包含应用程序相关属性列表,如版本,程序名等 .pch文件:预编译头文件,相当于MFC里的stdafx…
view的生命周期如下(按顺序) -(void)loadView 用代码初始化的时候,第一个调用该方法.可以在这里面addSubView. -(void)viewDidLoad 初始化时一些数据的设置setUp. -(void)viewWillAppear view 即将出现(每次view出现的时候都会调用) -(void)viewWillLayoutSubviews 初始化的时候,默认什么也不做.当view(包括subViews)的bounds发生变化的时候会调用,可以用来布局(Tip:此方法…
View生命周期相关方法 View是什么?官方源码注释中的定义:这个类是用户接口的基础构件.View表示屏幕上的一块矩形区域,负责绘制这个区域和事件处理. View是所有widget类的基类,Widget类用于创建交互式UI构件(按钮,输入框等). View类的ViewGroup子类是layout的基类,Layout是一个不可见的容器,它保存着View(或ViewGroup)并定义这些View的layout 属性. 简单点说,View就是屏幕上的一块矩形区域,我们可以在这块区域绘制我们想让用户看…
0.前言 今天看到一个概念是View的生命周期,有点懵逼,听说过Activity的生命周期,Fragment的生命周期,对View的生命周期好像没什么概念啊.难道layout.draw这些也算是生命周期的方法吗?因此查阅.整理了一些资料,有了此文. 1.View生命周期相关方法 View的生命周期从构造方法开始依次执行以下几个方法,该View的可见性为默认值时: (0)Constructors() View在代码中被创建时调用第一种构造方法,View从layout中加载出来时会被调用第二种构造方…
应用程序的状态 IOS的应用程序一共有5种状态. Not running(未运行):程序未启动 Inactive(未激活):其他两个状态切换时出现的短暂状态.唯一在此状态停留时间比较长的情况是:当用户锁屏时?或者系统提示用户去响应Alert窗口(如来电.信息)时 Active(激活):在屏幕上显示的正常运行状态,该状态下可以接收用户输入并更新显示 Backgroud(后台):程序在后台且能执行代码.用户按下Home键不久后进入此状态(先进入了Inactive状态,再进入Background状态)…
(void)awakeFromNib; 这个方法用的时候,outlet还没有连接起来,是view Controller刚从storyboard建的时候,没有完全建好,不过可能有一些事情要在这个方法里面完成,比如splitViewDelegate,需要在非常早期完成. - (void)viewDidLoad; 用这个的时候,ViewController已经完全好了,outlet也已经连接好了.但是还没有在屏幕上显示出来. 这个方法里面可以放很多设置的代码. 这个方法执行的时候,view的bound…
Activity代码: public class FiveActivity extends AppCompatActivity { private MyView myView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("log", "Activity生命周期:onCreate"); setConte…
init-初始化程序 viewDidLoad-加载视图 viewWillAppear-UIViewController对象的视图即将加入窗口时调用: viewDidApper-UIViewController对象的视图已经加入到窗口时调用: viewWillDisappear-UIViewController对象的视图即将消失.被覆盖或是隐藏时调用: viewDidDisappear-UIViewController对象的视图已经消失.被覆盖或是隐藏时调用: viewVillUnload-当内存…
layout控制当前view的布局,onlayout控制子view的布局,容器ui会用到 onIntercept在父亲这执行拦截,子视图可通过requestDisallow请求父亲不要拦截…
* 1.首先判断控制器是否有视图,如果没有就调用loadView方法创建:通过storyboard或者代码: * 2.随后调用viewDidLoad,可以进行下一步的初始化操作:只会被调用一次: * 3.在视图显示之前调用viewWillAppear:该函数可以多次调用: * 4.视图viewDidAppear * 3.在视图显示之前调用viewWillDisappear:该函数可以多次调用: 如需要): * 5.在布局变化前后,调用viewWill/DidLayoutSubviews处理相关信…
生命周期 说到view的生命周期一般都是指视图控制器的view生命周期. view的创建:loadView 视图控制器(UIViewController)及其子类,无论是手写代码还是storyboard.xib肯定会调用loadView方法.其它的视图不会调用比如UIButton,UILabel等,因为他们不是视图控制器.下面是视图控制器被创建时会被调用的其它方法: Storyboard/XIB会调用的方法: initWithCoder awakeFromNib:此时frame还没有完成. 手写…
reference to  : 1. 控制器View的创建 首先我们来看一下控制器view创建的流程图 控制器view加载.jpeg 从图中我们可以看出,在控制器view加载过程中有两个重要的方法loadView和viewDidLoad.下面我们来重点了解一下这两个方法. loadView方法 作用:loadView方法是用来负责创建UIViewController的view.首先判断下有没有指定storyboard或者xib,如果指定,就会加载它们描述的控制器的view,如果没有指定,创建一个…
iOS SDK中提供很多原生的ViewController,大大提高了我们的开发效率:那么下面我们就根据开发中我们常用的ViewController谈一谈它的生命周期: (一)按照结构和用法可以对iOS的所有ViewController分成两类: 1.主要用于展示内容的ViewController:如UITableViewController,UIViewController,这种ViewController主要为用户展示应用的内容,并提供与用户交互. 2.用于控制和显示其他ViewContro…
iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有app来运行,而你提供自己编写的代码来定制app的外观和行为.因此,了解iOS infrastructure和它们如何工作对编写app是很有帮助的. Main函数入口 所有基于C编写的app的入口都是main函数,但iOS应用程序有点不同.不同就是你不需要为iOS应用程序而自己编写main函数,当你使用Xcode创建工程的时候就已经提供了.除非一些特殊…
转自http://blog.csdn.net/qijianli/article/details/7826979 iOS的SDK中提供很多原生ViewController,大大提高了我们的开发效率,下面是我的一些经验. 一.结构 按结构可以对iOS的所有ViewController分成两类:1.主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITableViewController,UIViewController.2.用于…
iOS应用程序一般都是由自己编写的代码和系统框架组成.系统框架提供了一些基本的infrastructure给APP来运行,而开发者则自己编写代码定制APP的外观和行为,了解iOS infrastructure及其如何工作对编写APP很有帮助. Main函数入口 所有基于C编写的APP的入口都是main函数,但iOS应用程序有点不同.不同就是你不需要为iOS应用程序而编写main函数,当你使用Xcode创建工程的时候就已经提供了.除非一些特殊情况,否则你不应该修改Xcode提供的main函数实现.…
   应用生命周期 App启动:当App启动时,首先由not running状态切换到inactive状态,此时调用application:didFinishLaunchingWithOptions:方法:然后由inactive状态切换到active状态,此时调用applicationDidBecomeActive:方法.当App发生中断时,由active状态切换到inactive状态,此时调用applicationWillResignActive:方法. 来回切换App:当切换到另一个App时…
ViewController的生命周期包括: Initialize ViewDidLoad ViewWillAppear ViewDidAppear ViewWillDisappear ViewDidDisappear ViewDidUnload Dispose 对于Application来说,ViewController的每个阶段都对应了一个方法,IOS会在适当的时间调用对应的方法,因此,我们可以在每个方法中添加对应的代码来做我们想做的事.需要注意的是,这些方法都是为ViewControlle…
按结构可以对iOS的所有ViewController分成两类:1.主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITableViewController,UIViewController.2.用于控制和显示其他ViewController的ViewController.这种ViewController一般都是一个ViewController的容器.如UINavigationController,UITabbarContr…
一.应用程序的状态和多任务 有时系统会从app一种状态切换另一种状态来响应系统发生的事件.例如,当用户按下home键.电话打入.或其他中断发生时,当前运行的应用程序会切换状态来响应.应用程序的状态有以下几种: Not running:app还没运行 Inactive:app运行在foreground但没有接收事件 Active:app运行在foreground和正在接收事件 Background:运行在background和正在执行代码 Suspended:运行在background但没有执行代…
前言: 在iOS开发中,控制器的生命周期非常重要,什么时候加载页面,什么时候请求接口,什么时候刷新界面等等,都有很多值得优化的地方 loadView: 最先执行的方法,控制器关联的有Nib文件的时候,该方法会从Nib文件加载view. ViewDidLoad: 该方法可以用来可以用来初始化控件.也可进行异步的网络请求,该方法在页面出来之前调用,方法在执行结束后,页面才会出现.因此该方法里面不能用来执行耗时的主线程操作.该方法在控制器的整个生命周期中只会调用一次. ViewWillAppear:…
iOS应用程序的生命周期 2015-06-23 iOS大全 (点击上方蓝字,快速关注我们) iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有app来运行,而你提供自己编写的代码来定制app的外观和行为.因此,了解iOS infrastructure和它们如何工作对编写app是很有帮助的. Main函数入口 所有基于C编写的app的入口都是main函数,但iOS应用程序有点不同.不同就是你不需要为iO…
作为自定义 view 的基础,如果不了解android  view 的生命周期 , 那么你将会在后期的维护中发现这样那样的问题 ....... 做过一段时间android 开发的同学都知道,一般 onXXX 函数都是系统的回调函数.而这篇 blog 也是基于这个思想(或许有点笨)......   首先来看三分  创建view 的 日志信息 (自定义View 配置到xml文件中): android:visibility=gone 03-25 19:56:55.934: D/yyyyy(11493)…