日记--3种加载xib的方法

2017-08-21  本文已影响16人  SimonRi

第一种

建立工程后,新建xib,将class定位当前的视图控制器(这里以UIViiewControl为例)


屏幕快照 2017-08-21 下午6.48.50.png

之后在xib里设计,(这里删除了原来的view,拖了两个新的btn进来,因此有两个view,这样可以加载一个xib里的多个view。一个与两个同理,),然后点击关联打开.m文件,分别拖拽两个btn创建两个新的属性。


屏幕快照 2017-08-21 下午6.54.05.png
打来file‘s Owner,将btn与左边对应。
屏幕快照 2017-08-21 下午6.54.50.png

最后.m中的ViewDidLoad代码,通过NSBundle。

[super viewDidLoad];
    [[NSBundle mainBundle]loadNibNamed:@"View" owner:self options:nil];
    [self.view addSubview:self.bt1];
    [self.view addSubview:self.bt2];      //分别显示xib的第一个、第二个view
    _bt1.frame = CGRectMake(200, 100, 200, 30);
    _bt2.frame = CGRectMake(200, 200, 200, 30);      

就完成了。

第二种

( 删除了原有的视图控制器)新建viewcontroler类,在最后一个菜单勾选同属创建xib。 xib设计一下,只要不是白的就可以。
接下来将创建的视图控制器设置为新的跟视图控制器并设置显示xib(以CTest为例)。
AppDelegate.m :

 头文件加上:
#import “CTest.h”
之后第一个函数里写入:
    self.window =[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    CTest *rootview = [[CTest alloc]initWithNibName:@"CTest" bundle:nil];
    self.window.rootViewController = rootview;
    [self.window makeKeyAndVisible];

OK

第三种

通过数组加载,view在xib中是安数组排列的,通过和数组可以加载制定资源。同时xib存放在NSBundle中,有以下代码:

[super viewDidLoad];
    NSArray *ary =  [[NSBundle mainBundle]loadNibNamed:@"View" owner:self options:nil];

    [self.view addSubview:ary[1]];      //加载xib的第二个viwe

好像还有。。现在就看了这么多XD

上一篇下一篇

猜你喜欢

热点阅读