iOS7上的UITableView分隔符颜色错误
Posted
技术标签:
【中文标题】iOS7上的UITableView分隔符颜色错误【英文标题】:Wrong UITableView separator color on iOS7 【发布时间】:2014-02-17 12:48:52 【问题描述】:我这样设置UITableView
分隔符颜色:
- (void)viewDidLoad
[super viewDidLoad];
self.tableView.separatorColor = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:0.1f];
SOMETIMES 在 iOS7 上,我的表格视图分隔符看起来不同(我猜带有数据的单元格和空单元格分隔符具有不同的 alpha),请查看附图:
我该如何解决这个问题?
【问题讨论】:
@santhu 前两个分隔符明显比分隔空白单元格的要暗。 【参考方案1】:如果要删除所有内容为空的单元格分隔符,请使用以下代码行。
self.tableView.tableFooterView = [[UIView alloc] init];
在viewDidLoad
方法中。
其他方式设置self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
并设置您的自定义UIImage
作为分隔符。
前:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
NSString *CellIdentifier = @"cell"; //[NSString stringWithFormat:@"S%1dR%1d", indexPath.section, indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil)
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
.
. // your other code.
.
UIImageView *imgLine = [[UIImageView alloc] init];
imgLine.tag = 101;
[cell.contentView addSubview: imgLine];
.
. // your other code.
.
UIImageView *imgLine = (UIImageView *) [cell.contentView viewWithTag:101];
imgLine.frame = CGRectMake(5, 69, 310, 1);
imgLine.image = [UIImage imageNamed:@"queTblLine.png"];
return cell;
别忘了设置self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
编辑: 不确定,但可能对您的情况有所帮助:
设置self.tableView.separatorInset = UIEdgeInsetsZero;
获取From question/answer.
【讨论】:
谢谢,但我不想“删除”空单元格,我希望空单元格与带有数据的单元格具有相同的分隔符颜色。 那么您可能会使用我的其他建议,这对您来说也是最好和容易的。 :) 如何为表格分隔符设置 UIImage?添加 UIImageView 作为单元格子视图? 使用了最后一个选项(即link),似乎工作正常。谢谢。 +1!设置self.tableView.separatorInset = UIEdgeInsetsZero;
并像魅力一样工作!!!非常感谢你! :)【参考方案2】:
交换两个语句的顺序。先设置颜色,再设置插图:
self.tableView.separatorColor = [UIColor redColor];
self.tableView.separatorInset = UIEdgeInsetsZero;
【讨论】:
【参考方案3】:您可以在故事板或 nib/xib 中直观地实现这一点
将 UIImageView 放在单元格的底部边缘,您可以根据需要设置图像
第一步:根据图片设置分隔线
第 2 步:将分隔符样式设置为无
【讨论】:
【参考方案4】:您可以通过编程方式设置它:
- (void)viewDidLoad
[super viewDidLoad];
[[UITableView appearance] setSeparatorColor:[UIColor redColor]];
【讨论】:
以上是关于iOS7上的UITableView分隔符颜色错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS7 UITableView 部分中的最后一个单元格强制全宽分隔符