关于Xib 需要注意的地方

当你需要写一个繁琐的界面但是又是静态页面时,很可能会用到xib

【特例:创建继承于UIView的文件时,不带自动生成xib的勾选项,需要开发人员手动new一个同名的xib文件,在该xib文件右侧的class中选择相应的文件名】如图:

需要注意的几点:

(1)一个xib里的所有控件只能放到自己的@interface声明里,不能放到其他的文件中去

(2)学会合理利用init方法,加载xib时,需要loadNibName一下,放在init方法里会更好一些,方便我们后续在init方法中添加一些别的控件设置,,在controller中调用的时候只需要填写init方法即可,不需要担心它是xib或者是纯代码了,用法如下:

-(instancetype)init{

self = [super init];

if (self) {

//重点在这里:

self = [[[NSBundle mainBundle]loadNibNamed:@"JYEMainActivityPageView" owner:nil options:nil] firstObject];

//一些其他的设置都可写在这里

}

return self;

}

在cell中是这样的:

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{

self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

if (self) {

self = [[[NSBundle mainBundle]loadNibNamed:@"JYEMineCell" owner:self options:nil] lastObject];

     //一些其他设置【如果cell的内容来自Model的话,也可以定义一个model属性,在他的set方法中进行一些其他的设置】

}

return self;

}

(3)或者这样:注册一下,让你的tableview知道它要到复用池里找的哪些cell

[self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([JYERecordCell class]) bundle:nil] forCellReuseIdentifier:NSStringFromClass([JYERecordCell class])];

JYERecordCell * recordCell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([JYERecordCell class])];

时间: 2024-10-28 16:20:43

关于Xib 需要注意的地方的相关文章

ibtool failed with exit code 255

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool failed with exit code 255 出现原因:在Xcode 8 beta 打开工程运行,然后在xcode 7 正式版 运行,可能会出现这个问题 解决:Xcode 8 beta 用到xib或者sb的地方全部都改成在xcode 7 打开

iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方

https://www.cnblogs.com/yk123/p/9340268.html 最近在研究如何制作自己的.framework,在网上看了好多文章,但是写的都不是很全,里面也不包括资源图片.第三方(如Masonry,AFN)和plist文件,所以只能自己动手了.下面详细介绍一下如何生带有第三方.图片.plist文件的.framework 一.制作.framework 1.首先,我们新建工程,选择Coco Touch Framework 创建工程 2.使用CocoaPods导入Masonr

iOS开发——笔记篇&关于字典plist读取/字典转模型/自定义View/MVC/Xib的使用/MJExtension使用总结

关于字典plist读取/字典转模型/自定义View/MVC/Xib的使用/MJExtension使用总结 一:Plist读取 1 /******************************************************************************/ 2 一:简单plist读取 3 4 1:定义一个数组用来保存读取出来的plist数据 5 @property (nonatomic, strong) NSArray *shops; 6 7 2:使用懒加载的方

Xib的特殊使用

1.创建xib: XCode6一创建Xib的时候会变成这种很大的, 不是正常的iphone的大小. 这是XCode6的新的特性, 用这种xib创建出来可以适配任意型号的iphone甚至是ipad. 点击下方红线圈住的地方改变其大小. 如果想改回正常iphone大小则需要去掉右侧边栏对 Use Size Classes的勾选即可. 2.控件适配屏幕 纯代码的控件适配屏幕需要用self.view.frame来控制, 在xib中则轻松一些,只要点几下就ok了, 操作如下: 步骤1:简单拖拽一个控件到v

iOS中的 SB和XIB的前世今生

今天给大家介绍一下Apple开发中三种几种常用的应用程序编写方式:纯代码创建.使用storyboard/XIB.我们都知道,纯代码编写模式适合大型项目大规模使用,利于版本管理.追踪改动以及代码合并,代码重用性强,代码后期维护方便快捷.但是我们不能否认它开发周期长,代码结构复杂,自动布局AutoLayout困难等缺点, 一.Interface Builder介绍 1.概念 Interface Builder苹果平台下用于设计和测试用户界面的应用程序,简称IB.简单理解,IB就是提供可视化设计环境.

关于代码手写UI,xib和StoryBoard

代码手写UI 这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用.Geek们喜欢用代码构建UI,是因为代码是键盘敲出来的,这样可以做到不开IB,手不离开键盘就完成工作,可以专注于编码环境,看起来很cool很高效,而且不到运行时大家都不知道会是什么样子,也显出了程序员这一职业的高大上及神秘气息(这个真的不是在黑..想想大家一起在设计师背后指点江山的场景吧).大型多人合作项目使用代码构建UI,主要是看中纯代码在版本管理时的优势,检查追踪改动以及进行代码合并相对容易一些. 另外,代码UI可

iOS UI-团购案例(通过xib文件自定义UITableViewCell)

一.Model 1 #import <Foundation/Foundation.h> 2 3 @interface Goods : NSObject 4 5 @property (nonatomic, copy) NSString *icon; 6 @property (nonatomic, copy) NSString *title; 7 @property (nonatomic, copy) NSString *price; 8 @property (nonatomic, copy) N

**IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)

使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib文件是什么? A nib file describes the visual elements of your application’s user interface, including windows, views, controls, and many others. It can also

iOS中xib与storyboard原理,与Android界面布局的异同

用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML可以理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中主要的布置界面的方式有3种:代码,xib,storyboard. 1. 代码 代码布置界面是万能的,但通常很复杂.布置一个简单的界面可能需要很多行代码,因此十分繁琐. 下面为创建一个按钮的代码,最少也要3行: UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd