一、UITableView和UITableViewCell的常见属性,
1.我们说,这些属性里面,

2.这些是不是都是单元格的属性,
1)这个imageView:是单元格里面的图片框,是不是指的是这个啊,
2)这个textLabel:是指的这个标题上面这个Label吧,
3)这个detailTextLabel:是指的标题下面这个Label吧,
4)这个accessoryType:是指的,这个属性的数据类型是什么类型,是一个枚举类型,那么它有五种取值:
1> UITableViewCellAccessoryNone:每个单元格右边没有东西,
2> UITableViewCellAccessoryCheckmark:每个单元格右边是个对钩,
3> UITableViewCellAccessoryDisclosure:每个单元格右边是个小箭头,
4> UITableViewCellAccessoryDetailButton:每个单元格右边是个小圈i,
5> UITableViewCellAccessoryDislosureDetailButton:每个单元格右边既有小圈i,也有小箭头,
这个取值就是我们每一个单元格的右边这个符号的一个展示一些效果吧,

3.accessoryView:这个指的是什么,是不是就是指的也是右边这个符号,就是你可以自定义的吧,你可以给它任何一个UIView,都可以,你给它一个,比如说,开关,UISwitch,每个单元格右边就会显示一个开关,
4.backgroundView:
selectedBackgroundView:这两个都是设置背景的,
backgroundColor:这个一看就能猜出来,这是设置单元格的背景颜色,
我们给大家演示一下,在返回单元格的这个方法里面:

cell.backgroudColor = [UIColor blueColor];

这样的话,每一个单元格的颜色,都变成蓝色的了,

很难看吧,我写一个判断,
if(indexPath.row % 2 = = 0 ){
cell.backgroundColor = [UIColor blueColor];
} else {
cell.backgroundColor = [UIColor yellowColor];
}

我们再运行,

现在,不同的单元格是不是不同的颜色吧,
这个背景色是不一样的,
当我选中某一行的时候,
这一行的背景色是不是另外一种颜色,
如果你希望它选中行的背景色是绿色,怎么办,
注意,这里是没有这么一个selectedBackgroundColor,这么一个属性的,
只有selectedBackgroundView,没有selectedBackgroundColor,

所以说,backgroundColor,就是用来设置单元格背景颜色的,
那么,如果你希望设置单元格的背景不是一个颜色,是一个图片,
这个时候,用这个东西,能实现吗,backgroundColor,不能吧,
这个时候,就得用这个backgroundView,
backgroundView,也是设置背景的,只不过这个背景可以指定任何一个控件,这个时候,你给它一个图片框,这个时候,背景是不是变成一张图片了,
当你选中的时候,比如说,希望它的背景颜色,是个绿色,这个时候,你可以使用selectedBackgroundView, 选中的时候,设置一个view,这个view,的背景颜色是绿色,就可以了,
所以说,没有selectedBackgroundColor,但是有selectedBackgroundView,
比如说,我可以设置选中的背景色,
//设置单于格选中时的背景颜色

注意,只有selectedBackgroundView,没有selectedBackgroundColor,
//设置单元格选中时的背景颜色
UIView *bgView = [[UIView alloc ] init];
bgView.backgroundColor = [UIColor greenColor];
cell.selectedBackgroundView = bgView;
这样,是不是首先创建了一个UIView 啊,让这个UIView的背景颜色是绿色,然后,把这个UIView设置到了selectedBackgroundView,当你选中这个单元格的时候,是不是应用这个背景啊,
运行一下看看

选中,是不是绿色了,选中哪个,哪个就是绿色,所以说,虽然属性里面,没有一个叫做selectedBackgroundColor的,但是也没有关系,通过这个selectedBackgroundView,是不是OK了
那么,如果大家希望设置某个单元格的背景图片是某张图片,用哪个属性,

是不是用这个,backgroundView,就可以了,可以利用这个属性来设置单元格的背景图片,指定一个UIImageView就可以了
这两个也是用来设置背景的,只不过背景可以指定任何一个View,
这是我们单元格的一些常见属性,

所以说,单元格的背景,不光是颜色,也可以是其他的,用到这两个就OK了,
backgroundView,
selectedBackgroundView,
下面这个是当用户选择某一行的时候,或者当某一行被选中的时候,当某行被选中的时候的背景,可以是颜色,也可以是其他的,

这些都是单元格的一些属性,
三、然后,接下来,再给大家说一下,TableView的属性,
1.TableView,首先,我们上午给它说了一个属性,叫什么,行高那个,rowHeight,
这个属性,可以统一设置tableView中所有单元格的高度,所有行的高度,
rowHeight:可以统一设置所有行的高度,
2.然后,接下来,再给大家看一下,其他四个属性,这四个属性,我们将来都会用到的:

1)第一个是separatorColor:这是分割线的颜色,
2)第二个是separatorStyle:这是分割线的样式,
那么,什么是分割线呢,我给大家看一下,

现在是不是有这些背景啊,我把背景都给它去掉,
我们把这些设置背景的代码,都去掉:

把这些去掉以后,再运行,这里是不是就没有背景色了,

那么,分割线,看到了吗,这条线,是不是每一行之间都有分割线啊,
2)统一设置TableView的所有行的分割线:
用的就是我们TableView的一个属性,
就是separatorColor,这个属性,
在我们控制器的viewDidLoad方法里面,
控制器的View加载完毕以后,
- (void)viewDidLoad{
[super viewDidLoad];
self.tableView.rowHeight = 60;
//设置分割线的颜色
self.tableView.separatorColor = [UIColor redColor];
}
设置separatorColor = red,是红色,运行一下看看:

看到这个分割线的颜色了吗,红色的吧,这是设置分割线的颜色,你也可以设置其他颜色,
3)那么,还有一个,就是设置分割线的样式,
//设置分割线的样式
self.tableView.separatorStyle =

这个属性的类型是什么,UITableViewCellSeparatorStyle,没有星号,是个枚举,
这个样式,我们看一下,它是个什么类型,UITableViewCellSeparatorStyle,是不是一看这个没有星号,是不是又有可能是枚举或者结构体吧,我们这里其实它是个枚举,
现在我们是不是有分割线,如果你不希望它有分割线的时候,我们有时候不希望出现分割线,
怎么办呢,

设置self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
来一个None,注意这个None,就是没有分割线,

这样的话,就是看不到分割线,
这样的话,就可以通过这个属性,separatorStyle,来设置分割线的样式,
separatorColor,来设置分割线的颜色,
这是我们这里所说的这么两个属性,大家这个了解一下就可以了,后面会用到,

3.那么还有一个就是TableView的另外两个属性,
1)tableHeaderView:表头,
2)tableFooterView:表尾,
这两个是用来设置表格的表头和表尾这么一个效果,
那么我们看一下,现在这个整体是一个UITableView吧,

整体是一个UITableView,在这个UITableView的最上方,我们是不是有时候会显示一些广告信息,
对吧,有时候就是在这个表格上方,我们会显示一点儿东西,不管显示的是什么东西吧,比如说,我们前面看的,

在表格最上方,有可能会显示这些东西吧,
表格的最上方,也有可能显示这些东西吧:

也就是说,在表格最上方,你有可能想显示点儿东西,
这个时候,可以用什么呢,可以用我们的tableHeaderView,
当你在表格最下方,想显示点儿东西的时候,可以用这个tableFooterView,

最下方,大家应该有时候见过,比如说,一个表格,滚到一个地方以后,滚到这个屏幕最下方,有一个“加载更多”,一点“加载更多”,是不是就能加载更多信息啊,就是会在这个表格最底部,显示一些内容,这个时候,就可以用这个tableFooterView,
来,给大家看一下这两个属性:
4.还是在viewDidLoad里面:
- (void)viewDidLoad{
[super viewDidLoad];
//设置tableHeaderView,
self.tableView.tableHeaderView =

//注意,无论是tableHeaderView,还是tableFooterView,这两个属性的数据类型,都是什么类型,UIView 吧,是不是都是UIView类型,也就意味着,你可以给这两个属性设置任何的子空间吧,可以设置任何控件都可以, 比如说,headerView里面,我们给它一个控件,比如说,UIButton吧,buttonWithType,来个Add,

self.tableView.tableHeaderView = [UIButton buttonWithType:UIButtonTypeContactAdd];
//我们这是不是给它一个按钮啊,注意,我这个地方只是为了演示,告诉你这个UITableView的这个tableHeaderView,在什么地方,将来我们这个地方,很有可能给它一个view,view里面放一个图片轮播器都有可能,这都有可能,这儿只是给它演示这个地方是在哪里,来,先运行一下,看看这个tableHeaderView,在哪里,

看了吗,是不是在最上方啊,就在最上方,就在最上方有一个,如果你设置一个view,可能这个view就占的比较宽,然后呢,是有背景色之类,什么都可以,
因为这个按钮现在长的比较小,所以就显示中间,就这点儿,你上面只要给它一个大的View,它就会占满整个上面,你就可以在里面放任何你想要的东西了,这是我们HeaderView,显示在最上方,
那么我们往上滚,headerView是不是就滚到上面了,

5.然后,我们接下来再给它放一个tableFooterView,放在下面,放在这个地方,来看一下,
还是在viewDidLoad里面,
- (void)viewDidLoad{
[super viewDidLoad];
//设置tableFooterView
self.tableView.tableFooterView = [[UISwitch alloc] init];
//这个FooterView里面,我们给它来一个开关吧,
//我就是演示一下,所以这个地方,并没有给它放东西,咱们后面代码里面,会给大家加载更多的东西,
//这个放在最下面了吧,因为滚吗,滚到最下面才能看到:

本文详细讲解了Objective-C中UITableView和UITableViewCell的常见属性,包括imageView、textLabel、detailTextLabel、accessoryType、accessoryView、backgroundView、selectedBackgroundView、backgroundColor等,以及如何设置单元格和表格的背景颜色、分割线颜色和样式。同时介绍了tableHeaderView和tableFooterView的使用方法,用于自定义表格的头部和尾部视图。
596

被折叠的 条评论
为什么被折叠?



