Xib的使用与File'Owner总结
Xib的使用与File'Owner总结
一、XIB的适用范围
xib(也叫Nib)与storyboard一样是用来描述界面的。
二、XIB的使用
创建xib:新建界面里面user interface --》empty.
加载xib:[NSBundle mainBudle]loadNibNamed:XXX….]来加载xib
三、关于loadNibNamed方法
[[NSBundle mainBundle] loadNibNamed:@"MyXIB" owner:nil options:nil]; //一般用法
返回值:返回的NSArray是根视图下的视图个数(不包括子视图),如下图:只返回2个,即View与Button。(不包括View中的子视图)
xib适用例子:
- // XNViewController.m
- // 09xib的使用, 只是简单的加载xib, 没有设置filesowner不能进行连线.
- //
- #import "XNViewController.h"
- @interface XNViewController ()
- {
- BOOL _sign;//测试玩
- }
- @end
- @implementation XNViewController
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- _sign = NO;
- [self myLoadXib];
- }
- /**加载xib*/
- -(void)myLoadXib
- {
- //1.加载xib
- NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"MyXIB" owner:nil options:nil];
- //2.取出xib中的view并添加到父视图
- UIView *myView = views[0];
- UIButton *btn1 = (UIButton *)[myView viewWithTag:1];
- UIButton *btn2 = (UIButton *)[myView viewWithTag:4];
- [btn1 addTarget:self action:@selector(myClick) forControlEvents:UIControlEventTouchUpInside];
- [btn2 addTarget:self action:@selector(myClick) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:myView];
- //NSLog(@"%d",views.count); //返回的数组是视图的个数(不包括子视图)
- //另取一个.(数组中的顺序是根据xib文件中的的顺序来的)
- UIButton *btn = views[1];
- btn.frame = CGRectMake(0, 333, btn.frame.size.width, btn.frame.size.height);
- [btn addTarget:self action:@selector(myClick) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:btn];
- }
- /**xib中的监听按钮点击事件, 点击后使storyboard中label文字改变*/
- -(void)myClick
- {
- _sign = !_sign;
- if (_sign) {
- _myLabel.text = @"Hello!";
- }else{
- _myLabel.text = @"World!";
- }
- }
- @end
4.关于File’s Owner
(1). 将xib中的class设置为对应的xxxViewController.
(2). 并在loadNib时将owner设置为对应的xxxViewController(即一般为self, 对象)。
Xib的使用与File'Owner总结的更多相关文章
- 【iOS】Xib的使用与File'Owner总结
一.XIB的适用范围 xib(也叫Nib)与storyboard一样是用来描写叙述界面的. storyboard描写叙述的是比較大型的,大范围.适合描写叙述界面跳转等. 二.XIB的使用 Xib是小范 ...
- iOS nib file owner
nib文件中的file owner属性,设定后app在运行时加载nib文件的过程中会通过file owner重新建立nib文件中描述的控件与其在file owner中对应的IBOutlet或IBAct ...
- ios中xib的使用介绍
ios中Xib的使用 ios中xib的使用 Nib files are the quintessential(典型的) resource type used to create iOS and Mac ...
- IOS自定义表格UITableViewCell
在UITableView中,自定义表格,最原始是继承UITableViewCell,然后通过写代码方式去搞,但是这个费事了. 1.在storyboard中 给一个ViewController的tabi ...
- 用Swift实现一款天气预报APP(一)
这个系列的目录: 用Swift实现一款天气预报APP(一) 用Swift实现一款天气预报APP(二) 用Swift实现一款天气预报APP(三) Swift作为现在苹果极力推广的语言,发展的非常快.这个 ...
- iOS-cell的封装和重用
一.通过xib描述cell---(cell的高度一致,cell里面控件布局基本一样): 1.(M) 创建模型: -------------------------------------------- ...
- [转]ios 开发file's owner以及outlet与连线的理解
转载地址:http://www.cocoachina.com/bbs/simple/?t108822.html xib文件本身可以看做是一个xml,app启动的时候会根据xml构造xib对应的界面及其 ...
- file's owner以及outlet与连线的理解
转自:http://www.cnblogs.com/martin1009/archive/2012/06/01/2531028.html xib文件本身可以看做是一个xml,app启动的时候会根据xm ...
- The File's Owner
The File Owner is an instantiated, runtime object that owns the contents of your nib and its outlets ...
随机推荐
- Css3 - 动画旋转
旋转1: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="U ...
- ubuntu安装chrome
1.在Google chrome上面下载Chrome浏览器.选择正确的版本,我电脑是64位的所以选择的是[64 bit .deb (适用于 Debian/Ubuntu)]. google-Chrome ...
- mongodb 3.2 分片部署步骤
#linux 网络优化1. 文件中/etc/sysctl.conf, 加入net.core.somaxconn = 2048fs.file-max = 2000000fs.nr_open = 2000 ...
- [IT学习]PowerBi 入门
从哪里开始呢?注册一个账号,从PowerBi的help开始就行了.Get Started会带领你从get data讲起,建立dataset,建立report,一直到dashboard创建. 下面这个链 ...
- 在archlinux上搭建twitter storm cluster
本文详细描述如何在archlinux上搭建twitter storm cluster,转载请注明出处,谢谢. 有关archlinux基本系统安装,请参照archlinux简明安装指南一文,下面以上述为 ...
- nor flash和nand flash的区别
NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了 ...
- 页面静态化3 --- 使用PHP页面缓存机制来完成页面静态化(下)操作一个案例(新闻管理系统)
案例需求: 使用PHP缓存机制完成新闻管理系统的页面静态化数据库表 ecs_article (新闻表)因为新闻这些信息,并不是对实时性要求高,本身这个新闻比较稳定,内容也比较固定,所以我们考虑: 当第 ...
- Machine Learning in Action -- Logistic regression
这个系列,重点关注如何实现,至于算法基础,参考Andrew的公开课 相较于线性回归,logistic回归更适合用于分类 因为他使用Sigmoid函数,因为分类的取值是0,1 对于分类,最完美和自然的函 ...
- 蓝牙—逻辑链路控制和适配协议(L2CAP)
L2CAP(Logical Link Control and Adaption Protocol),链路控制和适配协议,位于基带层之上,将基带层的数据分组交换以便于高层应用的数据分组格式,并提供复用和 ...
- 蓝牙的OBEX协议
1.概述 OBEX为Object Exchange,用于在蓝牙设备间传数据对象,来源于红外定义的协议,后被蓝牙采用.OBEX在蓝牙协议层中的位置如下图(在之前的OBEX版本中,OBEX是通过R ...