如何为 UITableView 设置分隔符样式 [重复]

Posted

技术标签:

【中文标题】如何为 UITableView 设置分隔符样式 [重复]【英文标题】:How to set Separator style for UITableView [duplicate] 【发布时间】:2014-12-30 11:44:18 【问题描述】:

如何更改 UITableView 可扩展单元格的分隔符样式。我为此使用自定义 Tableview 类。

【问题讨论】:

无法正确理解问题。请添加更多细节。您可以使用yourTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLineUITableViewCellSeparatorStyleNoneUITableViewCellSeparatorStyleSingleLineEtched 设置分隔符样式 请在发布问题前进行搜索。你的问题是一个非常基本的任务,在这个网站上经常得到回答。例如看看这个:Custom Separator 【参考方案1】:

可能会添加一个 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

【讨论】:

【参考方案2】:
[tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];

【讨论】:

我试过了,但它只是将我的主表格视图更改为可扩展单元格。 expandable cellexpandable section.?

以上是关于如何为 UITableView 设置分隔符样式 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Swift - UITableView 设置分隔符样式

如何为 UITableView 设置自动高度?

如何为 UITableView tableHeaderView 设置比 UITableView 宽度更宽的宽度?

弹出键盘时如何为 UITableView 设置动画?

如何为 UITableView 部分标题动态设置背景颜色?

如何为 UITableView 标题设置颜色文本颜色