iOS-UIViewController创建的几种方法和UIWindow的介绍
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//实例化window
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//创建控制器并使之成为root控制器
YSCViewController *vc = [[YSCViewController alloc] init];
self.window.rootViewController = vc;
//设置window为主window和可见
[self.window makeKeyAndVisible];
return YES;
}
UIViewController的创建方式二:Xib方式
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//实例化window
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//创建控制器并使之成为root控制器
YSCViewController *vc = [[YSCViewController alloc] initWithNibName:@"YSCViewController" bundle:nil];
self.window.rootViewController = vc;
//设置window为主window和可见
[self.window makeKeyAndVisible];
return YES;
}
2.不指定xib的名称时:在Xcode7.1中,默认优先与UIViewController类同名的Xib(即YSCViewController),如果同名的不存在,再去调用去掉Controller的Xib(即YSCView);
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//实例化window
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//创建控制器并使之成为root控制器
YSCViewController *vc = [[YSCViewController alloc] init];
self.window.rootViewController = vc;
//设置window为主window和可见
[self.window makeKeyAndVisible];
return YES;
}
用xib创建时的注意点:(如果创建类时,同时创建Xib则无需关注)
里面Class 要指向要对应的UIViewController,我使用工程中已经存在的类默认的ViewController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//实例化window
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//导入加载storyboard并使之成为root控制器
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"YSCStoryboard" bundle:nil];
ViewController *vc = sb.instantiateInitialViewController;
self.window.rootViewController = vc;
//设置window为主window和可见
[self.window makeKeyAndVisible];
return YES;
}
2.通过一个标识初始化对应的控制器来导入
//导入加载storyboard并使之成为root控制器
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"YSCStoryboard" bundle:nil];
ViewController *vc = [sb instantiateViewControllerWithIdentifier:@"edit"];
self.window.rootViewController = vc;
iOS-UIViewController创建的几种方法和UIWindow的介绍的更多相关文章
- python中统计计数的几种方法和Counter的介绍
使用字典dict()alist=['a','b','a','c','b','b',1,3]count_dict = dict()for i in alist:count_dict[i]=count_d ...
- 杨柳絮-Info:对抗杨柳絮的7种方法和2种防治手段
ylbtech-杨柳絮-Info:对抗杨柳絮的7种方法和2种防治手段 园林养护人员在对抗杨柳絮上 主要有以下两种方法↓↓ 1.化学方法 化学方法是通过激素等调节剂来抑制植物发芽分化,达到减少杨柳开花的 ...
- 李洪强iOS开发之OC语言description方法和sel
OC语言description方法和sel 一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象 ...
- File类创建删除功能的方法和File类遍历(文件夹)目录功能
File类创建删除功能的方法 -public boolean createNewFile():当且仅当具有该名称的文件尚不存在时,创建一个新的空文件 -public boolean delete(): ...
- ps怎么撤销的三种方法和ps撤销快捷键以及连续撤销多步快捷键
内容提要:文章综合介绍ps撤销快捷键相关的一些操作,包括PS怎么撤销.PS撤销多步.ps连续撤销快捷键.历史记录面板操作等等. 关于ps怎么撤销操作,有多种方法:使用PS撤销快捷键.编辑菜单.文件菜单 ...
- js继承的几种方法和es6继承方法
一.原型链继 1.基本思想 利用原型链来实现继承,超类的一个实例作为子类的原型 2.具体实现 function F() {} //原型属性,原型方法: ...
- (转)AIX修改系统时区的3种方法和AIX 时间问题(夏令时)
原文:http://blog.csdn.net/fuwencaho/article/details/28267283 http://www.wo81.com/tec/os/aix/2014-04-30 ...
- File类创建删除功能的方法和File类遍历目录功能
File类创建删除功能的方法 public boolean createNewFile();当且仅当具有该名称的文件尚不存在的时候,创建一个新的空文件 public boolean delete(); ...
- JavaScript -- Array中的push()方法和concat()方法介绍
Array => push()方法向数组的末尾添加一个或者多个元素,也就是说它会改变数组本身 concat() => concat()方法用于连接2个或者多个数组,但它的特殊之处在于,它会 ...
随机推荐
- 说一说JS的IIFE
1. 定义IIFE: Immediately Invoked Function Expression,意为立即调用的函数表达式,也就是说,声明函数的同时立即调用这个函数.对比一下,这是不采用IIFE时 ...
- APP测试知识中的monkey测试
了解了logging模块的应用 1)两种方式,1:日志级别函数 2:日志级别的四大组件来实现日志功能(日志流处理) 2)日志流处理日志logging四大组件:logger(日志器) ...
- INNODB索引单列不能超767 复合不能超3072
innodb复合索引长度为什么是3072 我们知道InnoDB一个page的默认大小是16k.由于是Btree组织,要求叶子节点上一个page至少要包含两条记录(否则就退化链表了). ...
- MY FIRST PAGE!
RT. This is my first time to create and customize my cnblogs. Nice to see you!
- 哈理工新生赛 马拉车+贪心 最大密度子图 AC自动机+DP
J.Symmys Time Limit: 1000 MS Memory Limit: 262144 K Total Submit: 50 (13 users) Total Accepted: 2 (2 ...
- RAC配置2个私网网卡使用HAIP服务
如果是在oracle 10gRAC, 私网网卡冗余保护只能使用操作系统网卡绑定方式,但是到了oracle 11g,如果担心一个私网网卡故障导致rac节点驱逐,可以使用2个私网网卡,Oracle将自动使 ...
- C#万能排序法
利用下面的方法可以对C#中任何类型的变量.甚至是自定义类型的变量做冒泡排序:原理是使用了C#的Func委托,使用时只要将比较的函数当作参数传进去就能够获取最终的排序结果.
- linux高级管理第十四章--kvm虚拟化
案例 安装kvm所需软件 验证 注:虚拟机要开启虚拟引擎 开启服务 环境准备 安装相关软件包 启动 创建网桥 重启,reboot 安装虚拟机 完成.
- javascript中日期的最简单格式化
// 假设要转换的日期数据来源是date(一个timestamp) let date = Date.now() // 1574141546000 let strDate = (new Date(dat ...
- Java——super的使用
总是忘了,还是记下来吧~~ With super(), the superclass no-argument constructor is called. With super(parameter l ...