UITableView
UITableView 是表视图,在现在的APP中使用很广泛,下面总结一下表示图
UITableView 的常见样式有三种,一种是正常的,还有一种带字母引索的,两种的区别就是引索表视图上面带有字母ABC的引索,可以点击、滑动右边的字母引索进行快速查找,经常可以在通讯录中可以看见。还有一种是带有分组样式的表视图,分组表示图是要把一个模块的东西放到一起,使整体布局没有那么凌乱,方便用户的操作,常见于设置页面中
下面我们看一下 UITableView 的创建方法
UITableView *tableView = [[UITableView alloc]
initWithFrame:CGRectMake(0, 20, 375, 667-20)
style:UITableViewCellStyleDefault;
tableView.dataSource = self;
tableView.delegate = self;
[self.view addSubview:_tableView];
style是UITableView的样式,我们用分组的来做演示
我们把UITableView 的代理方法设为自己,并且添加到试图上
UITableView 有两个必须实现的代理方法,一个是数据源方法,一个是委托方法,所以,用到UITableView 的时候,我们必须要在.h文件中签订协议
<UITableViewDataSource,UITableViewDelegate>
数据源方法UITableViewDelegate :实例化视图的时候,必须要实现他的数据源方法,以此来完成表中数据的设备,也就是说数据源方法就是用来设置表中的数据
委托方法UITableViewDataSource :UITableView的委托方法,也叫代理方法,一般处理UITableView 的基本样式,单元格高度,以及捕捉选中单元格中的事件等,也可以把他想象为是点击事件
下面实现我们要实现我们签订的协议,这两个方法必须实现
– (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
//返回每一个section中的单元格数量一般以数组的形式表示section中有几行[array count]
return20;
}
– (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
staticNSString *identifier = @"myCell";
//检测查看是否有空闲的单元格,如果有就创建一下
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell ==nil){
cell = [[UITableViewCellalloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:identifier];
}
//返回每一行的单元格对象
return cell;
}
下面我们看一下表视图的常用属性和方法
tableView 的继承自UIScrollView 这样的继承关系就可以实现tableView 的上下滚动,所以在今天的APP里用到非常广泛
好了,今天就到这里,,下一片总结一下复用单元格
我等你用尽了所有的哀伤;而你眼中却有我所不懂的凄凉。