IOS 控件器的创建方式(ViewController)
2024-09-04 17:35:39
● 控制器常见的创建方式有以下几种
➢ 通过storyboard创建
➢ 直接创建
NJViewController *nj = [[NJViewController alloc] init];
➢ 指定xib文件来创建
NJViewController *nj = [[NJViewController alloc] initWithNibName:@”NJViewController" bundle:nil];
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 1.创建UIWindow
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor]; /*
// 2.创建控制器
// 2.1第一种创建方式
NJViewController *vc = [[NJViewController alloc] init];
vc.view.backgroundColor = [UIColor redColor];
*/
/*
// 2.2第二种创建方式
// NJViewController *vc = [[NJViewController alloc] init]; // 加载UIStoryboard(注意:仅仅是加载名称叫做Test的storyboard, 并不会创建storyboard重的控制器以及控件)
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil]; // 创建storyboard中箭头指向的控制器
// NJViewController *vc = [storyboard instantiateInitialViewController]; // UIViewController *vc = [storyboard instantiateInitialViewController]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"two"];
// UINib *nib = [UINib nibWithNibName:@"" bundle:[NSBundle mainBundle]];
// [[nib instantiateWithOwner:nil options:nil] lastObject];
*/ // 2.3第三种创建方式
// was unable to load a nib named "One"'
// loaded the "One" nib but the view outlet was not set.' NJViewController *vc = [[NJViewController alloc] initWithNibName:@"One" bundle:nil]; self.window.rootViewController = vc; // 3.让UIWindow显示出来
[self.window makeKeyAndVisible];
return YES;
}
@interface NJViewController () @end @implementation NJViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
最新文章
- Oracle补习班第七天
- Spring解析
- 用VS2010+Qt4.6.4编译QtAV
- AX 2012 SSRS print setting-报表打印输出设置
- Jmeter以non-gui模式进行分布式测试
- ROS ZYNQ移植
- Java笔记(二十二)……Collection集合
- OC对象:封装、继承、多态的使用举例一
- EF中读取随机数据的问题
- maven多模块搭建
- 文件导出也可以这么写【js+blob】
- python 对象和json互相转换
- SQLite 数据类型(http://www.w3cschool.cc/sqlite/sqlite-data-types.html)
- Python进阶开发之元类编程
- 论AOP面向切面编程思想
- [物理学与PDEs]第1章第2节 预备知识 2.2 Ampere-Biot-Savart 定律, 静磁场的散度与旋度
- Linux基础入门-Linux下软件安装
- [ARCH] 1、virtualbox中安装archlinux+i3桌面,并做简单美化
- VS2013 添加控制台程序
- Keras运行速度越来越慢的问题
热门文章
- rgbdslam_v2编译过程中引起的needed by错误
- 启动windows .net 3.5 功能
- HDU1425 A Chess Game
- 洛谷P3582 [POI2015]KIN
- 调试JMETER脚本的5种方法
- 关于Markdown的一些学习笔记
- rsyslog服务器同步其他服务器上面应用日志(如mysql审计日志 、nginx日志)
- Jmeter4.0----CSV Data Set Config_对输入参数进行参数化(14)
- 注意ie6的盒模型
- mitmproxy——抓取http、https