本文共 2791 字,大约阅读时间需要 9 分钟。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#pragma mark - 通过xib创建控制器
/**
1.在创建控制器的时候直接指定要加载xib作为控制器的view,名称不相干
> 需要修改xib文件的fileOwner
> 需要将fileOwner里面的view指向xib里面的view
2.xib文件的名称跟控制器相似,但是不同名
3.xib文件的名称与控制器的名称同名
*/
// 1.创建窗口
// brightness 可以调节屏幕亮度
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
// 2.设置窗口的根控制器
// CZXibController *xibVc = [[CZXibController alloc] initWithNibName:@"CZMmd" bundle:nil];
// 加载相似名称的xib
// CZXibController *xibVc = [[CZXibController alloc] init];
// 加载名称相同的xib
// UIView *v = [[[NSBundle mainBundle] loadNibNamed:@"CZMmd" owner:nil options:nil] lastObject];
CZXibController *xibVc = [[CZXibControlleralloc]init];
self.window.rootViewController = xibVc;
// 3.让窗口做为主窗口并且可见
[self.windowmakeKeyAndVisible];
returnYES;
}
#pragma mark - 通过storyboard创建控制器
- (void)storyboard {
// 1.创建窗口
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
// 2.设置根控制器
// 1.先加载sb文件
UIStoryboard *czsb = [UIStoryboardstoryboardWithName:@"CZSb"bundle:nil];
// instant 实例化
// UIViewController *sbVc = [czsb instantiateInitialViewController];
// UITableViewController *tableVc = [czsb instantiateViewControllerWithIdentifier:@"table"];
// self.window.rootViewController = tableVc;
// "command + ]" 向右边缩进
// "command + option + ]" 向下移动
UIViewController *sbVc = [czsbinstantiateViewControllerWithIdentifier:@"sb"];
self.window.rootViewController = sbVc;
// int c;
// int a = 10;
//
// int b = 20;
//
// c = a;
// c = b;
// 3.作为主窗口并可见
[self.windowmakeKeyAndVisible];
}
#pragma mark - 通过代码的方式创建 alloc + init
- (void)code {
// 1.创建窗口
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
// 2.设置窗口的根控制器
// 通过纯代码的方式创建
CZCodeController *codeVc = [[CZCodeControlleralloc]init];
self.window.rootViewController = codeVc;
// 3.设置为主窗口并显示
[self.windowmakeKeyWindow];
self.window.hidden =NO;
}
=======initWithNibName和loadNibName的区别---创建控制器
-(instancetype)initWithFrame:(CGRect)frame{
if(self==[super initWithFrame:frame]){
self=[[[NSBundle mainBundle] loadNibNamed:@"LYHomeGuanggaoTJVC" owner:self options:nil] lastObject];
self.frame=frame;//这个必须要设置,根据不同平台设置View的大小;
}
return self;
}
- (void)awakeFromNib
{
[super awakeFromNib];
[self initView];
}
--------在另外一个控制器中使用xib创建的View---根据不同屏幕设置大小LYHomeGuanggaoTJVC *guanggao;
if(WIDTH==320){
guanggao= [[LYHomeGuanggaoTJVC alloc]initWithFrame:CGRectMake(0, 0, 320, HEIGHT)];
}else if(WIDTH==375){
guanggao= [[LYHomeGuanggaoTJVC alloc]initWithFrame:CGRectMake(0, 0, 375, HEIGHT)];
}else if(WIDTH==414){
guanggao= [[LYHomeGuanggaoTJVC alloc]initWithFrame:CGRectMake(0, 0,414, HEIGHT)];
}
self.guanggao=guanggao;
[self.contentView addSubview:guanggao];