天天看点

iOS开发UI篇—UITableview控件基本使用

一、一个简单的英雄展示程序

njhero.h文件代码(字典转模型)

iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用

njviewcontroller.m文件代码

iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用

实现效果:

iOS开发UI篇—UITableview控件基本使用

代码注意点:

(1)在字典转模型的代码处用下面的代码,为可变数组分配dictarray.count个存储空间,可以提高程序的性能

nsmutablearray *models = [nsmutablearrayarraywithcapacity:dictarray.count];

(2)设置cell的高度

有三种办法可以设置cell的高度

1) 可以在初始加载方法中设置,self.tableview.rowheight = 60;这适用于当每一行的cell高度一致的时候,使用属性设置cell的高度。

2)在storyboard中设置,适用于高度一致

3)当每一行的cell的高度不一致的时候就使用代理方法设置cell的高度

 - (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

{

if (1 == indexpath.row) {

return 180;

}

return 44;

二、cell的一些属性

代码示例:

iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用

cell的一些属性:

(1)设置cell的辅助视图,设置cell.accessoryview(系统提供了枚举型,也可以自定义@父类指针指向子类对象);

(2)设置cell的背景颜色,有两种方式可以设置cell的背景颜色:

通过backgroundcolor 和 backgroundview都可以设置cell的背景。但是backgroundview 的优先级比 backgroundcolor的高,所以如果同时设置了backgroundcolor和backgroundview, 那么backgroundview会盖住backgroundcolor

示例:cell.backgroundcolor = [uicolorbluecolor];

(3)设置cell默认状态的背景

示例1:

   uiview *view = [[uiview alloc] init];

   view.backgroundcolor = [uicolor bluecolor];

  cell.backgroundview = view;

示例2:

uiimageview *iv = [[uiimageviewalloc] initwithimage:[uiimageimagenamed:@"buttondelete"]];

cell.backgroundview = iv;(父类指针指向子类对象,可以使用图片用简单的操作设置绚丽的效果)

(4)设置cell选中状态的背景

示例:

  uiview *view2 = [[uiview alloc] init];

view2.backgroundcolor = [uicolorpurplecolor];

cell.selectedbackgroundview = view2;

三、tableview的一些属性

iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用

tableview的一些属性:

(1)设置分割样式(tableview.separatorstyle),这是个枚举类型

(2)设置分割线的颜色,可以直接使用系统给出的颜色,如果系统给定的颜色不能满足需求时,也可以自定义。

  补充:颜色分为24位和32位的,如下

24bit颜色

r 8bit 0 ~ 255

g 8bit 0 ~ 255

b 8bit 0 ~ 255

32bit颜色

a 8bit 0 ~ 255(tou)

r 8bit

g 8bit

b 8bit

#ff ff ff 白色

#00 00 00 黑色

#ff 00 00 红色

#255 00 00

设置为自定义颜色的实例:tableview.separatorcolor = [uicolorcolorwithred:0/255.0green:255/255.0blue:0/255.0alpha:255/255.0];

//接收的参数是颜色的比例值

(3)设置顶部和底部视图

tableview.tableheaderview //顶部

tableview.tablefooterview //底部