iOS7上的UITableView分隔符颜色错误

时间:2014-02-17 12:48:52

标签: ios objective-c uitableview

我以这种方式设置UITableView分隔符颜色:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableView.separatorColor = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:0.1f];
}

有点 iOS7 我的表视图分隔符看起来不同(带有数据的单元格和空单元格分隔符我猜的是不同的alpha),请查看附图: enter image description here

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

如果要删除所有包含空内容的单元格分隔符,请使用以下代码行。

self.tableView.tableFooterView = [[UIView alloc] init]; 
viewDidLoad方法中的

其他明智的设置self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;并为分隔符设置自定义UIImage

<强> EX:

- (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;

EDITE: 不确定,但在您的情况下可能会有所帮助:

设置self.tableView.separatorInset = UIEdgeInsetsZero;

获取From question/answer.

答案 1 :(得分:2)

交换两个语句的顺序。先设置颜色,然后设置插图:

self.tableView.separatorColor = [UIColor redColor];
self.tableView.separatorInset = UIEdgeInsetsZero;

答案 2 :(得分:2)

您可以在storyboard或nib / xib中直观地实现此目的

将UIImageView放在单元格的底部边缘,您可以根据需要设置图像

第1步:根据图像设置分隔线

Set divider as per image

第2步:将分隔符样式设置为无

Set Separator style to none

答案 3 :(得分:1)

您可以以编程方式设置它:

- (void)viewDidLoad {
   [super viewDidLoad];

   [[UITableView appearance] setSeparatorColor:[UIColor redColor]];

}