标签:
//将类与代理类建立关联,用代码或者利用连线的方式来实现
self.tableView.dataSource = self;
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
return [self.carsGroups valueForKeyPath:@"title"];
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath*)indexPath
{
if (indexPath.row == 0) { // 第一行是插入样式
return UITableViewCellEditingStyleInsert;
}else{
return UITableViewCellEditingStyleDelete;
}
//设置滚动区域的偏移
self.tableView.rowHeight = 60;
//设置分割线
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
//设置分割线颜色
self.tableView.separatorColor = [UIColor brownColor];
//cell不允许选中
self.tableView.allowsSelection = NO;
//设置分组行高
self.tableView.sectionHeaderHeight = 50;
//进入编辑状态
self.tableView.editing = YES;
UISwitch *swithBth = [[UISwitch alloc] init];
UISwitch *swithBth1 = [[UISwitch alloc] init];
self.tableView.tableHeaderView = swithBth;
self.tableView.tableFooterView = swithBth1;
全部或者局部reload,都是触发tableView:cellForRowAtIndexPath:方法,创建或重用cell,局部刷新cell时还可实现动画效果。而cell.textLabel.text是直接赋值,只是更新了页面上的label属性,不触发任何事件。
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
??如果tableview包含tableFooterView则需要自己定位
[UIView animateWithDuration:0.5 animations:^{
CGFloat height = self.tableView.contentSize.height - self.tableView.frame.size.height;
[self.tableView setContentOffset:CGPointMake(0, height)];
}];
CeLL重用
Cell常用属性
/*设置backgroundView和selectedBackgroundView的背景颜色时不要直接设置cell.backgroundView.backgroundColor和cell.selectedBackgroundView.backgroundColor
应该创建ImageView后设置其backgroundColor再赋值*/
UIImageView *view = [[UIImageView alloc] init];
view.backgroundColor = [UIColor greenColor];
cell.backgroundView = view;
view1.backgroundColor = [UIColor blueColor];
//此时cell.textLabel.text = @"textLabel";
//如果在cell.backgroundColor = [UIColor redColor];后面,
cell.backgroundColor = [UIColor redColor];
NSString *ID = @"contact_cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
if (cell == nil) { //用户不会执行下面的语句
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:ID];
}
静态的Cell需要设置tableView的Content属性为Static Cells,然后再设置分组数量,再点击每个分组设置row
标签:
原文地址:http://www.cnblogs.com/linxiu-0925/p/5058157.html