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

第一种

建立工程后,新建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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,547评论 1 14
  • 首先声明,我这是根据别人的讲解来写出来的,,, 一、关于xib 1.xib和nib 在程序里面我们看到的基本上是U...
    湮灭_尘事阅读 3,620评论 1 14
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,469评论 2 4
  • 1.不可变数组转变为可变数组声明实例变量的数组 必须记得实现 对于遍历数组找到对象后 如果还需要查找 记得先结束 ...
    小新xin阅读 754评论 0 1
  • 蜀道之难,难于上青天,这肯定是无法越过的阻隔。面对高山你便如此仰面而叹:“山高如斯,越之难哉!”你望而心怯,在没有...
    大周在前进阅读 758评论 0 0