一、加载xib文件的两种方式

1.方法一(NewsCell是xib文件的名称)

NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@"NewsCell" owner:nil options:nil];

2.方法二

UINib *nib = [UINib nibWithNibName:@"NewsCell" bundle:nil];

NSArray *objects = [nib instantiateWithOwner:nil options:nil];

二、设置cell的高度

1.如果每一行cell的高度都是一样的,直接使用tableView的rowHeight属性设置cell的高度即可

tableView.rowHeight = 80;

2.如果每一行cell的高度不一定一样,应该用代理方法设置cell的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

// 返回indexPath这行对应cell的高度

return 80;

}

三、UITableViewController

1.UITableViewController内部默认会创建一个UITableView *tableView

2.UITableViewController内部tableView的delegate(代理)和dataSource(数据源)就是这个UITableViewController

3.UITableViewController内部tableView就是控制器的view

四、自定义cell

1.通过xib

1> 一定要注意在xib的cell中设置重用标识(reuse identifier)

2> 封装的步骤

* 新建xib描述cell的样子---DealCell.xib

* 新建UITableViewCell的子类---DealCell(封装xib内部的所有东西)

* 修改xib中cell的类名(class)为DealCell

* 在DealCell中拥有xib中的所有子控件(声明属性、进行连线)

* 新建模型Deal,封装数据

* 给DealCell增加模型属性

@property (nonatomic, strong) Deal *deal;

* 重写setDeal:方法,在这个方法中根据模型数据设置cell内部子控件的属性

* 提供一个类方法,返回从xib中创建好的cell对象

* 给xib中的cell添加一个重用标识(比如deal),提供一个类方法,返回重用标识

* 提供一个类方法,返回cell的高度

3> 使用cell

* 设置每一行cell的高度

* 利用重用标识去缓存池取得cell

* 如果缓存池没有cell,创建cell

* 传递模型给cell

2.通过代码

1> 新建一个UITableViewCell的子类---WeiboCell

2> 在创建cell的时候(initWithStyle:reuseIdentifier:方法中)添加cell内部需要使用的子控件

(注意:只管创建添加子控件,先不要去管子控件的位置和尺寸)

3> 新建一个模型类---Weibo,增加对应的数据属性

4> 给WeiboCell增加一个Weibo模型属性,在拿到Weibo模型数据的同时设置子控件的属性

5> 重写setWeibo:方法,在这里面取出Weibo模型的数据显示到子控件上

加载xib文件的两种方式的更多相关文章

  1. Spring加载properties文件的两种方式

    在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可, ...

  2. windows/tomcat 修改java虚拟机JVM以utf-8字符集加载class文件的两种方式

      1.情景展示 做了这么长时间的java开发,但是,你知道JVM是以怎样的编码加载.解析class文件的吗? 我们知道,通常情况下,我们会将java文件的字符集修改成utf-8,这样,理所当然地就认 ...

  3. 转 Velocity中加载vm文件的三种方式

    Velocity中加载vm文件的三种方式   velocitypropertiespath Velocity中加载vm文件的三种方式:    方式一:加载classpath目录下的vm文件 Prope ...

  4. Velocity中加载vm文件的三种方式

    Velocity中加载vm文件的三种方式: a.  加载classpath目录下的vm文件 /** * 初始化Velocity引擎 * --VelocityEngine是单例模式,线程安全 * @th ...

  5. Java加载资源文件的两种方法

    处理配置文件对于Java程序员来说再常见不过了,不管是Servlet,Spring,抑或是Structs,都需要与配置文件打交道.Java将配置文件当作一种资源(resource)来处理,并且提供了两 ...

  6. xml文件 加载properties文件的两种方法与注意事项

    1.遇到的问题: 配置redisSpringContext.xml 时,遇到 properties加载失败,提示BeanDefinitionStoreException  和   java.lang. ...

  7. UIImage加载本地图片的两种方式

    UIImage加载图片方式一般有两种: (1)imagedNamed初始化:默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片 ...

  8. 动态加载script文件的两种方法

    第一种就是利用ajax方式,把script文件代码从后台加载到前台,然后对加载到的内容通过eval()执行代码.第二种是,动态创建一个script标签,设置其src属性,通过把script标签插入到页 ...

  9. QML工程加载main.qml的两种方式

    1. QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (e ...

随机推荐

  1. 使用jQuery和css3实现了仿淘宝ued博客左边的菜单切换动画

    今天看到淘宝ued博客的左侧导航菜单的动画好,要使用jQuery和css3我做一个简单的示例,主要用途是实现jQuery 事件和css3 transition属性. 个元素来实现鼠标滑动到某个导航的背 ...

  2. windows和ubuntu 10.4双启动顺序

    改动/boot/grub/grub.cfg文件 /boot/grub/grub.cfg文件,这与旧版本号不同(9.10之前版本号/boot/grub/menu.lst),并且为了安全起见,该文件默觉得 ...

  3. C#中的动态特性

    众所周知,C#和Java一样,都是一门静态语言.在C# 4.0之前,想要和动态语言(诸如Python.Javascript等)进行方便地互操作是一件不太容易的事情.而C# 4.0为我们带来的dynam ...

  4. IE不能上网、有道云笔记不能联网、各种软件主页不能联网解决办法一

    其他的办法我几乎都试过了,读者可以无搜一下,我的问题是,我用Lantern.exe,所以只要打开这个就可以了! 我一直不知道是这个问题,困扰了好久QAQ

  5. ios 类似的效果淘宝商品详细页面

    今天试着写ios 分类似影响淘宝的商品详细页面 我使用第三方库EGORefreshTableHeaderView有一个下拉效果刷新PWLoadMoreTableFooterView上拉电阻负载许多其他 ...

  6. OpenGL 实现Interpolation插值算法

    这是一个静态插值算法的效果,图形学中插值算法应用十分广.如动画.photoshop, autocAD等软件画曲线,还有shader中的渐变上色也是一个硬件支持的插值算法. Interpolation是 ...

  7. REST WebService

    REST WebService 前置技能 ① 使用maven来管理java项目 这个技能必须点一级,以便快速配置项目. 本文实际上是我学习Spring的过程中搬的官网上的demo,使用maven配置项 ...

  8. Android发展Singleton模式

    这是什么Singleton模式?它是Java23之间的一种模式,在Android发展也有着广泛的应用,例Calander类别,当对象是由未创建 new Calander而是Calander.getIn ...

  9. tc-SRM-626-DIV1-250

    枚举alice投掷骰子得到的结果的每一种情况极其数量. 枚举bob投掷骰子得到的结果的每一种情况极其数量. 然后枚举alice投掷骰子得到的结果的数量和bob投掷骰子比alice低的数量. 然后计算结 ...

  10. Install Typical IIS Workloads

    原文 Install Typical IIS Workloads Introduction The IIS 7.0 and above modular architecture is designed ...