利用UITableView实现简单的通讯录
在实现此功能之前,先简单的了解UITableView的方法使用:
发现有几个博客讲的很不错,贴出来推荐:https://blog.csdn.net/mhw19901119/article/details/8755029
一、UITableView的基本使用方法:
主要的核心实现由三个部分组成:
(1)设置并返回此TableView是由多少个section组成的。(即分段显示还是单个列表显示)两者的区别就是普通通讯录和微信列表的通讯录
-(NSInteger)numberOfSectionsInTableView:(UITableView *) tableview
{
return 1;//返回有多少个section ,这里可以是数组,也可以是数据源的多少,例如NSArray中数据的个数。
}
(2)设置每个分区的行数,可以直接返回数字也可以返回数据源的多少。对于不同分区想要展示的行数不同时,可以使用switch.
-(NSInteger)tableView:(UITableView *)tableView numberOfRowInSection:
(NSInteger *)indexPath
{
return 10;//返回对应section(indexPath)有多少元素(行数)
}
(3)设置并返回每一个cell,可以在这里对cell进行个性化的设置,其中设置主标题cell.textLable,一个副标题cell.detailTextLable,还有一个 image在最前头cell.imageView,还可以通过cell.accessoryType设置右边的图标(饱满的蓝色箭头,还是勾勾标记)。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"showUserInfoCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:celldentifier] autorelease];
//判断cell是否存在,如果不存在就创建一个新的cell给它用。
if(cell == nil){
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:
cellIdentifier] autorelease];
}
//configure the cell
cell.textLable.text = @"";//设置主标题
cell.detailTextLable.text = @"";//设置副标题
}
二、UITableView的委托方法:
1、设置每个cell的高度(通用的方法):
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:
(NSIndexPath *)indexPath
{
return 70.0f;
}
2、设置header seaction的高度: