我正试图在UITableView
中为iPhone实现此功能:始终只有FIRST和LAST VISIBLE单元格具有不同的背景颜色,比如红色,而其他单元格的颜色保持白色。滚动时平滑变化
我试过了:
:
.m
但滚动回来时颜色不会更新。
答案 0 :(得分:5)
如果需要,可以在cellForRowAtIndexPath中完成所有操作。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *tableViewCellID = @"cellID";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:tableViewCellID];
if (!cell)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:tableViewCellID];
[[cell textLabel] setText:[NSString stringWithFormat:@"some sting %i", [indexPath row]]];
NSArray *visibleCells = [tableView visibleCells];
for (int i = 0; i < [visibleCells count]; i++) {
UITableViewCell *cell = [visibleCells objectAtIndex:i];
if (i == 0 || i == [visibleCells count] - 1)
[cell setBackgroundColor:[UIColor redColor]];
else
[cell setBackgroundColor:[UIColor clearColor]];
}
return cell;
}
答案 1 :(得分:-1)
在你的
中- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
尝试这样的事情
//Find the first row
if(indexPath.row == 0){
cell.contentView.backgroundColor = [UIColor redColor];
}
要检查最后一行,您应该重复使用您为
制作的代码- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section