如何为UITableView设置分隔符样式

时间:2014-12-30 11:44:18

标签: ios iphone

如何更改UITableView可扩展单元格的分隔符样式。我正在使用Custom Tableview Class。

2 个答案:

答案 0 :(得分:0)

[tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];

答案 1 :(得分:0)

可能会添加一个UIView作为您自己的分隔符,并设置一个自动调整遮罩以使其保持在底部。

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

然后在您的自定义UITableViewCell子类

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {

        self.backgroundColor = [UIColor myColour]; // do cell setup in here


        UIView *lineView = [[UIView alloc]initWithFrame:CGRectMake(0.0f, self.contentView.bounds.size.height - 1.0f, self.contentView.bounds.size.width, 1.0f)];
        lineView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
        lineView.backgroundColor = [UIColor myOtherColour];

        [self.contentView addSubview:lineView];
}

return self;

}

如果你真的想在cellForRowAtIndexPath中这样做,你可以,但我不推荐它

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
      static NSString *CellIdentifier = @"Cell";

      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];

      if (!cell)
      {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier: CellIdentifier];

        cell.backgroundColor = [UIColor myColour]; // do cell setup in here


        UIView *lineView = [[UIView alloc]initWithFrame:CGRectMake(0.0f, cell.contentView.bounds.size.height - 1.0f, cell.contentView.bounds.size.width, 1.0f)];
        lineView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
        lineView.backgroundColor = [UIColor myOtherColour];

        [cell.contentView addSubview:lineView];
      }

  // rest of your cell for row code here