//属性设置
cell取消选中状态 点击cell不变色
cell.selectionStyle = UITableViewCellSelectionStyleNone;
//设置cell 的箭头
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
//点击cell不变色
cell.selectionStyle = UITableViewCellSelectionStyleNone;
1.取消cell的分割线
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
//设置tableview 不能滚动
self.tableView.scrollEnabled =NO;
//UITableView的创建
UITableView *tabelView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped];
//Plain样式:分区头/分区尾会停靠在tableView头部和尾部
//group样式:分区头/尾高度大于Plain样式时的高度,头尾不会停靠
//调整单元格之间的距离
-(void)setFrame:(CGRect)frame{
// tableView边框的宽度 #define kTableBorderWidth 5
// 更改x、宽度
frame.origin.x = kTableBorderWidth;
frame.size.width -= kTableBorderWidth * 2;
// 更改顶部间距、每个cell之间的间距
frame.origin.y += kTableTopBorderWidth;
frame.size.height -= kTableViewCellMargin;
[super setFrame:frame];
}
//设置每一行的高度,所有行的高度相等
tabelView.rowHeight = 100;
//设置分割线的颜色
tabelView.separatorColor = [UIColor yellowColor];
//设置分割线的样式
tabelView.separatorStyle = UITableViewCellSeparatorStyleNone;
//设置数据代理
tabelView.dataSource = self;
//设置其他相关代理
tabelView.delegate = self;
//注册cell类
//告诉tableView cell中所有重用标识reuse,都使用这种cell
//[UITableViewCell class]:不是创建,而是表示有这样的的类型的类
[tabelView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"reuse"];
三、方法实现
//返回特定分区行数 -- section
//tableView 默认有一个分区
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
//返回每一行要显示的cell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//当重用池中具有对应重用标识的cell时,返回重用池中的cell
//如果没有,则返回nil;
//当注册了标识对应的cell类后,重用池,会创建一个新的cell返回
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"reuse”];
//当没有注册的时候,则需判断
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"reuse"];
}
}
//返回分区数
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 5;
}
//返回指定row的行高
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
//返回每一个分区头的标题
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
//返回指定分区头的高度
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
//返回每一个分区尾的标题
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
//返回View做为分区头
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
//返回View做为分区尾
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
//cell被点击时响应的方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
//重新刷新页面
[self.tableView reloadData];
//读取数据
NSString *path = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"plist”];
//通过分区号和行号获取对应的cell
[tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)];
//通过cell获取所在的分区号和行号
[tableView indexPathForCell:(nonnull UITableViewCell *)];
//获得右边的索引
-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
//返回一个分区头
self.tableView.tableHeaderView= [self headerView];
//消除没有显示的横杠
self.tableView.tableFooterView= [[UITableView alloc]init];
//点击弹起 选中弹起光影恢复原状
[tableView deselectRowAtIndexPath:indexPath animated:YES];
网友评论