UIKit框架(5)控制器的创建-创新互联

在UIKit中,UIViewController及其子类描述视图控制器,即一个页面

创新互联公司主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、成都响应式网站建设公司、程序开发、网站优化、微网站、微信小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都做网站、网站建设、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

本篇文章介绍一下控制器的三种主要创建方式

  • 纯代码创建

即:alloc+init方式,如:

AMViewController * vc = [[AMViewController alloc] init];

  • 从storyboard中加载

 a. 创建UIStoryboard对象

+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle*)storyboardBundleOrNil

  name参数:storyboard文件名,不包含扩展名

  storyboardBundleOrNil参数:传nil即可

b. 从UIStoryboard对象中获取控制器对象

- (id)instantiateInitialViewController  //取出唯一的初始控制器
- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier //按照ID

如:

UIStoryboard * stoyrboard = [UIStoryboard storyboardWithName:@"main" bundle:nil];
//AMViewController *vc = [stoyrboard instantiateInitialViewController];
AMViewController *vc = [stoyrboard instantiateViewControllerWithIdentifier:@"redViewController"];

控制器的ID:在storyboard文件中可以设计多个控制器,每个控制器可以管理一个ID

    UIKit框架(5)控制器的创建

  • 从xib中加载

xib设计控制器的view,有以下两种方式:

方法一:

   可以在xib中放置控制器,如:

   UIKit框架(5)控制器的创建

   代码中仍然使用NSBundle的loadNibNamed:从Nib中创建

     设计的控制器,同样可以设置关联的子类类型

- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

    name参数:传递xib文件的文件名(不带后缀名)

    其余参数传nil使用默认值即可

    返回值:为该xib文件中所有对象的数组,一般一个xib文件只设计一个对象

如:

AMViewController * vc = [[[NSBundle mainBundle] loadNibNamed:@"xxx"] lastObject];

方法二:

   在xib中仍然放置一个view,选则xib中的File’s owner ,设置class为控制器子类

   UIKit框架(5)控制器的创建    UIKit框架(5)控制器的创建

   右键File’s owner,view属性连线到xib中的view对象

   UIKit框架(5)控制器的创建

   代码中使用UIViewController的一下init方法从xib中创建其view

- (instancetype)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle

   nibName参数:xib文件名,不包括后缀名

   nibBundle参数:传nil即可

如:

AMViewController * vc = [[AMViewController alloc] initWithNibName:@"view" bundle:nil];

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:UIKit框架(5)控制器的创建-创新互联
分享网址:http://ybzwz.com/article/djpehj.html