UIViewController/ApplicationSequ…
ApplicationSequence UI-03
//打印程序方法的执行过程,
//__FUNCTION__,执行的方法名;__LINE__
显示的NSlLoge方法在哪一行
应用程序类型,一个程序只需要一个UIApplication对象,一个工程只能制作一个应用程序
应用程序开始加载状态
(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self.window makeKeyAndVisible];
return
YES;
mark 应用程序将要取消活跃状态
//触发的因素:来电、短信,退出应用程序,手动进入后台
//可以使用此方法暂停正在运行的任务,或者是让定时器暂停,或者暂停游戏
(void)applicationWillResignActive:(UIApplication
*)application {
mark 程序已经进入后台
//用这个方法可以用来释放共享资源,存储用户信息,使定时器无效,存储用户当前状态下的信息,已备下次恢复;
//如果你的应用程序支持后台运行,当用户退出的时候,这个方法将被替代applicationWillTerminate:
(void)applicationDidEnterBackground:(UIApplication
*)application
{}
mark 应用程序即将进入前台
//唤醒进入后台时的任务
(void)applicationWillEnterForeground:(UIApplication
*)application {}
mark 应用程序已经处于活跃状态,应用程序已经在屏幕上运行了
//重启应用程序中没开启的任务或者程序程序进入后台时被暂停的任务开启,如果应用程序之前不再后台
也可以刷新一下用户界面(如网易新闻第二天打开不是第一天的新闻,已被刷新)
(void)applicationDidBecomeActive:(UIApplication
*)application {}
程序的入口
{
@autoreleasepool
{
//UIApplicationMain(),此函数的三大功能
(面试必考题)
1.创建应用程序对象,每一个应用程序都是一个应用程序对象
2.创建事件死循环(runloop,死循环)用于及时处理用户的操作,时时刻刻检测屏幕上有没有用户交互事件,一旦用户进行了交互,立即对用户操作做出操作
3.设置应用程序的代理对象,用来检测应用程序运行状态
[A class]
如果类A调用Class方法,则返回类A
return UIApplicationMain(argc,
argv, nil, NSStringFromClass([AppDelegate
class]));
}}
继承自UIResponder
,是一个专门用来管理视图的一个类,只能用来管理单视图,是一个单是图控制器
//概念误区:视图管理器不是一个视图,是用来管理视图的,而且视图控制器自带一个管理视图的根视图
//UIViewController 主要作用:1.管理视图 2.响应事件 3.分担Appdelegate 的工作
4.可以实现MVC模式
——————————————————————————————
//创建自定义视图控制器对象
RootViewController
*rootVC =
[[RootViewController
alloc]init];
//将rootVC制定window的根视图
self.window.rootViewController
= rootVC;
将其头文件引入AppDelegate.m文件
*)nibNameOrNil
bundle:(NSBundle
*)nibBundleOrNil{
if
(self
=
[super
initWithNibName:nibNameOrNil
bundle:nibBundleOrNil])
{
}
return
self;
loadView]
//第二种自定义个视图赋值给视图控制器自身所带的视图View
- (void)loadView{
//
[super
loadView];//父类对该方法的实现是加载一个UIView对象,视图控制器自身所带的View就是由此方法创建出来的
//自定义视图控制器自身所带的视图View
UIView
*newview =
[[UIView
alloc]initWithFrame:[UIScreen
mainScreen].bounds];
self.view
=
newview;
[newview release];
//当视图控制器自带的View加载完成时触发
- (void)viewDidLoad
{
[super
viewDidLoad];
//使用self.View访问自定义视图所带的View
self.view.backgroundColor
=
[UIColor
greenColor];
//想添加的视图写在这个方法中
UIView
*view =
[[UIView
alloc]initWithFrame:CGRectMake(100,
100,
100,
100)];
view.backgroundColor
=
[UIColor
redColor];
[self.view
addSubview:view];
[view release];
调试是否执行此方法:

(void)didReceiveMemoryWarning
{
[super
didReceiveMemoryWarning];
NSLog(@"警告啦,警告啦,你TM的警告了!");
//[self
isViewLoaded] 用来判断视图控制器自带的view是否已经加载
//
self.view.window
查看根视图有没有在window上显示
if
([self
isViewLoaded]
&& !self.view.window
)
{
//安全的将根视图删除
self.view
=
nil;
}
(BOOL)shouldAutorotate{
return
YES;
}
//设置界面设置的旋转方向
return
UIInterfaceOrientationMaskAll;//三种旋转方式

//-
(void)viewWillTransitionToSize:(CGSize)size
withTransitionCoordinator:(id)coordinator{
//
//size将要旋转到的屏幕的尺寸
NSLog(@"%@",NSStringFromCGSize(size));
if (size.width < size.height) {
//把竖屏下的坐标赋值给空间
}else{
//把横屏下的坐标赋值给空间
UIViewController/ApplicationSequ…的更多相关文章
- UIViewController生命周期-完整版
一.UIViewController 的生命周期 下面带 (NSObject)的方法是NSObject提供的方法.其他的都是UIViewController 提供的方法. load (NSObje ...
- 拦截UIViewController的popViewController事件
实现拦截UIViewController的pop操作有两种方式: 自定义实现返回按钮,即设置UIBarButtonItem来实现自定义的返回操作. 创建UINavigatonController的Ca ...
- iOS: 在UIViewController 中添加Static UITableView
如果你直接在 UIViewController 中加入一个 UITableView 并将其 Content 属性设置为 Static Cells,此时 Xcode 会报错: Static table ...
- 8. UIViewController
1. UIViewController 的认识 UIViewController在iOS开发中占据很重要的位置,iOS的整个UI开发的核心思想也是MVC的架构,从UIViewController的命名 ...
- 从一个控制器调到另一个控制器的[UIViewController _loadViewFromNibNamed:bundle:]崩溃
一,现象和分析: 1.崩溃的主要地方是[UIViewController _loadViewFromNibNamed:bundle:] ,是从 A 控制器 push 到 B 控制器后, B 控制器的v ...
- UIViewController相关知识
title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...
- [IOS基础]关于IOS的UIScreeen,UIView,UIViewController,UIWindow理解
UIScreen: 代表当前这个屏幕,通过UIApplication可以获得这个属性 UIView: 一个矩形试图,包含用户手势和时间响应 UIViewController: 一个UIView的集 ...
- info.plist、pch和四大对象(UIApplication、UIApplicationDelegate、UIWindow、UIViewController)
本文目录 1.程序配置文件info.plist,全局头文件pch 2.应用程序对象UIApplication介绍 3.UIApplicationDelegate介绍,程序启动过程 4.UIWindow ...
- 3.UIViewController详解
一. UIViewController,视图控制器,它是UIKit中非常重要的组成部分.它由控制器+View两部分组成. 控制器功能: ->实现代码逻辑,决定它自带的View的界面显示. -& ...
随机推荐
- windows上安装nodejs,升级npm,安装webpack指南
安装nodejs https://nodejs.org/en/ 安装webpack和其他一些常用的 npm install -g node-gyp webpack coffee-script 监控 w ...
- 安卓高级9 shareSDK 第三方登陆和分享Mob
ShareSDK推荐此官网地址 官网注册和申请key流程 注册 略 进入后台创建应用得到可以 下载SDK 解压下载的压缩包 第三方平台申请key 如果你想申请QQ登陆或者分享需要去腾讯开发者申请,申请 ...
- CSAPP缓冲区溢出攻击实验(下)
CSAPP缓冲区溢出攻击实验(下) 3.3 Level 2: 爆竹 实验要求 这一个Level的难度陡然提升,我们要让getbuf()返回到bang()而非test(),并且在执行bang()之前将g ...
- 六星经典CSAPP-笔记(11)网络编程
六星经典CSAPP-笔记(11)网络编程 参照<深入理解计算机系统>简单学习了下Unix/Linux的网络编程基础知识,进一步深入学习Linux网络编程和TCP/IP协议还得参考Steve ...
- Dynamics CRM2016 关于修改部署管理员账号权限引发的问题
最近在用2016做项目,一个同事的一个操作给我带来了一个头疼的问题,他把部署管理员的CRM账号的管理员权限给移除了,导致整个系统的所有账号进CRM都是下图这样 即使系统中还存在其他的拥有管理员权限的账 ...
- String、StringBuffer、StringBuilder对比
1.String 用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改.这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间. Str ...
- SQLite Update 语句(http://www.w3cschool.cc/sqlite/sqlite-update.html)
SQLite Update 语句 SQLite 的 UPDATE 查询用于修改表中已有的记录.可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新. 语法 带有 W ...
- x264源代码简单分析:熵编码(Entropy Encoding)部分
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- itoo-快捷部署脚本--提高部署开发效率
本次是第一次使用批处理文件来作为批量操作的工具,代替了人工的手动的复制,粘贴的方式,使用脚本实现了项目的启动.自动化部署,打开项目根目录.等等,提高了开发和调试的效率. 说明: 当前版本:1.0 ...
- Dynamics CRM2016 新功能之从CRM APP中导出数据至EXCEL
新版的CRM对移动端做了很多的改进,这归咎于微软对APP端的越来越重视.自己装了个IOS版的APP,体验了下基本的功能,比原来好用很多很顺滑,这里要介绍的是一个新的数据导出功能. 咱们进入case列表 ...