iOS 【通过xib加载描述window根控制器的view】
来源:互联网 发布:南风知我意2 txt下载 编辑:程序博客网 时间:2024/05/20 09:45
1、通过Xib描述控制器View,在xib当中要做两步操作
① 绑定类。告诉xib去描述哪个控制器的View
② 连线。告诉xib当中哪个View去描述指定控制器的view
2、代码设置
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// 1、创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// 2、设置根控制器
// 未指定xib,那么按照initWithNibName方法的加载规则进行加载
// WZYViewController *vc1 = [[WZYViewController alloc] init];
// 指定了xib,直接加载同名xib。如果同名的xib并不存在,程序会崩溃报错。
WZYViewController *vc1 = [[WZYViewController alloc] initWithNibName:@"WZYView" bundle:nil];
self.window.rootViewController = vc1;
// 3、显示窗口
[self.window makeKeyAndVisible];
return YES;
}
3、加载原理
① 如果直接调用initWithNibName指定xib名称去加载, 那么就会去加载指定名称的xib。如果指定的xib名称不存在,那么就会报错。
② 如果调用init去加载xib,init方法内部会调用initWithNibName。此时由于initWithNibName并不是我们手动去调用的,所以说加载xib的名称默认为nil。
① 绑定类。告诉xib去描述哪个控制器的View
② 连线。告诉xib当中哪个View去描述指定控制器的view
2、代码设置
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// 1、创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// 2、设置根控制器
// 未指定xib,那么按照initWithNibName方法的加载规则进行加载
// WZYViewController *vc1 = [[WZYViewController alloc] init];
// 指定了xib,直接加载同名xib。如果同名的xib并不存在,程序会崩溃报错。
WZYViewController *vc1 = [[WZYViewController alloc] initWithNibName:@"WZYView" bundle:nil];
self.window.rootViewController = vc1;
// 3、显示窗口
[self.window makeKeyAndVisible];
return YES;
}
3、加载原理
① 如果直接调用initWithNibName指定xib名称去加载, 那么就会去加载指定名称的xib。如果指定的xib名称不存在,那么就会报错。
② 如果调用init去加载xib,init方法内部会调用initWithNibName。此时由于initWithNibName并不是我们手动去调用的,所以说加载xib的名称默认为nil。
当有多个xib文件绑定了某个控制器类。如果xib名称指定为nil,系统会先去判断有没有跟控制器类同名的xib,如果有,就会去加载这个同名的xib文件。
如果没有,再去判断,有没有跟控制器类名同名,并且去掉@"Controller"后缀的xib文件。
如果还没有,就会创建一个空的View。而不会加载项目中不相关的别名xib文件。
6 0
- iOS 【通过xib加载描述window根控制器的view】
- iOS 【通过sb加载描述window根控制器的view】
- iOS 一一 根据xib加载window根控制器的View
- iOS--控制器加载自定义view的xib
- iOS 一一 根据storyBoard加载window根控制器的View
- [iOS 转] xib文件加载控制器View的一些原理
- xib文件加载控制器View的一些原理
- iOS 加载NIB / xib 的 VIew
- ios 关于 通过加载 xib 生成的view,调用 addsubviews,sub view的按钮 不相应点击事件的 问题
- ios深入了解控制器view的加载
- 加载xib 描述的 tableViewCell
- iOS : 通过Nib/Xib来加载UIView的注意事项
- iOS swift - 通过xib 自定义View
- iOS的控制器的view加载到另一个控制器的View以及手势问题的坑
- ios-使用Xib加载或Storyboard加载控制器(视图)
- iOS window添加视频view或图片view,并有切换根视图控制器的时候注意
- ios 通过view找到它的控制器viewcontroller
- 设置XIB的view成为控制器的view
- java中AWT和SWing的区别与联系
- java网络编程——Socket和ServerSocket,套接字编程——简单聊天室
- Javascript定义类(class)的三种方法
- ajaxfileupload 始终不执行success 只执行error方法;SyntaxError: expected expression, got '<
- opencv2中IplImage和Mat的相互转化
- iOS 【通过xib加载描述window根控制器的view】
- 3.2 ACM输入输出--多组测试用例--C、C++
- 整理Android各种框架文档
- [ahk]复制当前文件,并以当前文件夹名称命名
- 媒体的分类
- 浅谈对线程池的理解
- windows的exe、lib文件跟c运行时库怎么关联的
- mac os安装pyquery
- WinAPI:ChooseFont 和 CFHookProc