【iOS】Xib的使用与File'Owner总结
一、XIB的适用范围
xib(也叫Nib)与storyboard一样是用来描写叙述界面的。
二、XIB的使用
创建xib:新建界面里面user interface --》empty.
载入xib:[NSBundle mainBudle]loadNibNamed:XXX….]来载入xib
三、关于loadNibNameed方法
[[NSBundle mainBundle] loadNibNamed:@"MyXIB" owner:nil options:nil]; //一般使用方法
返回值:返回的NSArray是根视图下的视图个数(不包含子视图),例如以下图:仅仅返回2个,即View与Button。(不包含View中的子视图)
owner:指定对应的File's Owner
xib适用样例:
//
// XNViewController.m
// 09xib的使用, 仅仅是简单的载入xib, 没有设置filesowner不能进行连线.
//
// Created by neng on 14-6-5.
// Copyright (c) 2014年 neng. All rights reserved.
// #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中的监听button点击事件, 点击后使storyboard中label文字改变*/
-(void)myClick
{
_sign = !_sign;
if (_sign) {
_myLabel.text = @"Hello!";
}else{
_myLabel.text = @"World!";
}
} @end
4.关于File’s Owner
(storyboard默认生成的时候,class为相应的viewController,因此能直接和代码中方法进行连线)。
(1). 将xib中的class设置为相应的viewController.
(2). 并在loadNib时将owner设置为相应的viewController(即一般为self,
对象)。
Class定义为哪个类,就能在哪个类中进行连线, 而要在loadNib时owner传入对应的对象就可以调用对应方法。(必须保持一致,否则调用方法时会出现找不到方法)
转载请注明出处:http://blog.csdn.net/xn4545945
【iOS】Xib的使用与File'Owner总结的更多相关文章
- IOS Xib使用——为控制器添加Xib文件
Xib文件是一个轻量级的用来描述局部界面的文件,它与StoryBoard类似,都是使用Interface Bulider工具进行编辑.但是StoryBoard是重量级的,它是用来描述整个软件的多个界面 ...
- Xib的使用与File'Owner总结
Xib的使用与File'Owner总结 一.XIB的适用范围 xib(也叫Nib)与storyboard一样是用来描述界面的. storyboard描述的是比较大型的,大范围.适合描述界面跳转等. 二 ...
- [转]ios 开发file's owner以及outlet与连线的理解
转载地址:http://www.cocoachina.com/bbs/simple/?t108822.html xib文件本身可以看做是一个xml,app启动的时候会根据xml构造xib对应的界面及其 ...
- **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)
使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib ...
- nib 加载过程分析以及对File’s Owner的理解
nib loading的过程,这个是app文档里面有说到资源编程指南 1. It loads the contents of the nib file and any referenced reso ...
- iOS - Xib
前言 xib 文件可以被 Xcode 编译成 nib 文件,xib 文件本质上是一个 xml 文件,而 nib 文件就是编译后的二进制文件,该文件将视图等控件对象封装了起来,而在程序运行起来后,这些对 ...
- file's owner以及outlet与连线的理解
转自:http://www.cnblogs.com/martin1009/archive/2012/06/01/2531028.html xib文件本身可以看做是一个xml,app启动的时候会根据xm ...
- ios xib或storyBoard的那些小方法
今天看了一下xib里的一些小技巧,但是百度一搜的话,网上已经有人写过教程了,在这里我也就懒一下,不写那么详细了,就写一些如何百度的方法! 1."通过KVC修改占位文字的颜色" [t ...
- The File's Owner
The File Owner is an instantiated, runtime object that owns the contents of your nib and its outlets ...
随机推荐
- mysql数据文件迁移到新的硬盘分区的方法
该系统增加了一个硬盘.要创建新的分区/data文件夹,mysql对于数据文件夹/var/lib/mysql 1. 停止mysql维修 [root@localhost~]# service mysql ...
- Unity2D实现贴图凹凸感并接受实时光照效果
先看终于效果: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...
- java 工厂的变形模拟的各种应用
工厂模式是在项目开发中使用效率高,意一个接口,该定义用于创建对象.让子类来决定哪一个类实例. 这就是一个工厂类的示意图 接着来一个简单的样例: 如上图所看到的,我们首先定义我们的产品抽象类接口,也能够 ...
- Struts2 + uploadify 多文件上传完整的例子!
首先,我这里使用的是 Jquery Uploadify3.2版本号 导入相关的CSS JS <link rel="stylesheet" type=" ...
- 如何设置eclipse在默认模式下打开文件
如何设置eclipse在默认模式下打开文件 打开eclipse.选择例如以下:windows --> preferences --> General --> Editors --&g ...
- PHP设计模式——备忘录模式
声明:本系列博客參考资料<大话设计模式>,作者程杰. 备忘录模式又叫做快照模式或Token模式,在不破坏封闭的前提下.捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对 ...
- NSIS:应用软件自动升级功能的探索与实践
原文 NSIS:应用软件自动升级功能的探索与实践 记得以前轻狂曾分享过使用第三方软件实现应用软件自动升级功能 (详细http://www.flighty.cn/html/soft/20110106_1 ...
- matlab简单实现SVD的推荐
%svd chengxu A = [5 5 0 5;5 0 3 4; 3 4 0 3; 0 0 5 3; 5 4 4 5; 5 4 5 5]; A = A'; [U S V] = svd(A); U ...
- 文件I/O之-打开文件在内核中的表示
在unix系统中,一切皆文件.系统把文件夹.字符设备.块设备.套接字都当做文件来对待.对于文件的操作,使用I/O函数,这里所说的I/O函数是指系统调用.大多数文件的I/O要用到这5个函数:open.r ...
- 我的MYSQL学习心得(三)
原文:我的MYSQL学习心得(三) 我的MYSQL学习心得(三) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL ...