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 ...
随机推荐
- IIS 301 跳转
IIS设置301重定向 IIS服务器下做301永久重定向设置方法. IIS6设置301重定向: 1.新建一个站点,对应目录如E:\wwwroot\301web.该目录下只需要1个文件,即index.h ...
- 1215课后练习----indexOf的用法
package com.hanqi; public class Testco { public static void main(String[] args) { String str1 = &quo ...
- ZOJ 2975 思维
题意 给出一个矩形 问在其中存在多少子矩形 其四个角上的字母是一样的 一开始暴力写了一发 先枚举行数 再枚举两个列数 再向下枚举行数 判断能否 没有意外的超时了 后来想了想 当我们已经确定两个列数的时 ...
- FZU 2032 高精度小数加法
题目描写很没意思..就是说给出n个小数 求它们的总和 因为给出的小数点后最多16位而要求保存至12位 而能直接使用的最精确的double只能到12位 于是13的进位可能被忽略 于是不可以用double ...
- ThinkPHP 学习笔记 ( 四 ) 数据库操作之关联模型 ( RelationMondel ) 和高级模型 ( AdvModel )
一.关联模型 ( RelationMondel ) 1.数据查询 ① HAS_ONE 查询 创建两张数据表评论表和文章表: tpk_comment , tpk_article .评论和文章的对应关系为 ...
- PHP 面试题数组篇[ 整理中 ]
网上找的PHP数组题,准备自己做一遍并且记录下来.不断添加中. 1.写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为1. <?php function arrsort($first, ...
- S5PV210裸板驱动:启动
以往2440和6410的启动方式,只要我们把裸板代码烧写到NAND FLASH的开始位置,当开发板上点启动时,处理器会自动从NAND FLASH上拷贝前面一段的代码到内部的RAM中执行.按照以前的方法 ...
- Apache与Tomcat 区别联系(转)
转自:http://www.admin10000.com/document/974.html Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP ...
- Python的安装
篇幅主要是别人的分享,我这里主要是添加注意点.我当初就是按照下面的图片开始安装python,安装的是python3.5,pyDev也是使用的博主的(还花了1资源分下载).但是运行程序时,一直显示 Er ...
- php安装xcache (5.4)
安装环境centOS6.3APACHE:apache-2.4.4PHP:5.4.13 1.安装xchache: 代码如下: # wget http://xcache.lighttpd.net/pub/ ...