如何仅为tableView单元格

时间:2016-03-24 23:23:16

标签: ios swift uitableview

我想只为我的tableview单元格背景的左半部分或右半部分着色。我该如何管理?现在,我只能为整行设置背景颜色。我试图在单元格的左半部分放置一个标签,并设置标签的背景颜色。但问题是标签覆盖了cell.text,以至于我看不到单元格的内容。我真的想知道我是否可以在单元格文本下方但在单元格背景上方设置标签。所以它可以做它的工作。但是其他方法也可以完成对tableview单元格的一半着色!

我试过@ winnder.ktw以编程方式设置它。但我得到一个错误image我该如何解决? 谢谢!

2 个答案:

答案 0 :(得分:0)

如果您正在使用界面构建器,只需更改左侧“文档大纲”面板中视图的顺序,您可以选择最重要的内容:

Document Outline

如果您只需要背景,则无需添加标签,只需向您的单元格添加常规视图。

编辑:在这里,只需添加视图和标签,并确保标签位于“文档大纲”面板中的视图下方。

enter image description here

答案 1 :(得分:-1)

试试这个

- (UITableViewCell *) tableView: (UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath {

     UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier: @"any-cell"];
     if (!cell) {
         cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier: @"any-cell"];

         UIView* bgView = [[UIView alloc] initWithFrame: cell.bounds];
         bgView.backgroundColor = [UIColor whiteColor];
         UIView* halfView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, cell.bounds.size.width / 2.0, cell.bounds.size.height)];
         halfView.backgroundColor = [UIColor greenColor];
         [bgView addSubview: halfView];
         cell.backgroundView = bgView;
     }

     return cell;
}