UIViewController介绍:2-使用xib以及Storyboard创建控制器
创建控制器对象的方法,除了最常用的使用代码创建之外,Xcode还提供了两种图形化的创建方式。这两种方式可以比较直观的定制控制器的外观样式,但在大型的App开发项目中,使用并不广泛。
使用XIB创建控制器
在Xcode中创建控制器类,继承自UIViewController,并勾选“also create XIB file”,如下图所示 :
创建成功后,系统会自动创建3个文件,分别为.h/.m/.xib文件。
选中.xib文件,可以看到xib文件的File’s Owner属性为:XibViewController类,同时提供了一个空白的View供开发者设计界面,这个View就是控制器对应的View。
我们可以在xib文件中提供的View中,设置一下View的背景颜色,并新增一个UIImageView控件。
在AppDelegate.m文件中,实例化这个控制器,并设置为window的根控制器,最后显示出来,注意实例化控制器使用initWithNibName方法。
#import "AppDelegate.h"
#import "XibViewController.h
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//实例化控制器
XibViewController *rootVc = [[XibViewController alloc] initWithNibName:@"XibViewController" bundle:nil];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = rootVc;
[self.window makeKeyAndVisible];
return YES;
}
运行后,运行结果如下:
使用StoryBoard创建控制器
在StoryBoard中,也可以创建控制器,通过拖拉UIViewController控件,可以添加一个控制器,需要注意:必须给该控制器指定其:Storyboard ID,如下图所示。
在需要实例化该控制器的代码中,使用instantiateViewControllerWithIdentifier方法来实例化在StoryBoard中定义的控制器对象。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
UIViewController *rootVc = [storyBoard instantiateViewControllerWithIdentifier:@"SBViewController"];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = rootVc;
[self.window makeKeyAndVisible];
return YES;
}
运行结果如下。
示例代码
https://github.com/99ios/9.1.2
文章发布时间为: October 20th , 2016 at 04:55 pm
最后编辑时间为: September 13th , 2017 at 02:57 pm
本文由 99ios 创作,转载请注明出处
最后编辑时间为: September 13th , 2017 at 02:57 pm
本文由 99ios 创作,转载请注明出处