向UITableViewCell添加分隔符

时间:2015-05-11 18:32:51

标签: ios objective-c uitableview tableviewcell

我正在构建一个应用程序(iOS 8.0),而我已经使用AutoLayout和Storyboard构建了一个UITableViewControlled。 tableView设置为静态&已分组,并且tableView分隔符设置为none。

我尝试使用此代码(在viewWillAppear :)中调用以向其他两个单元格添加分隔符,但出于某种原因,它并未显示:

        // Create a separator for the tableView cells
    UIView *separatorViewTop = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 1.0f, self.fromCell.frame.size.width, 1.0f)];
    UIView *separatorViewBottom = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 43.0f, self.fromCell.frame.size.width, 1.0f)];
    separatorViewTop.backgroundColor = [UIColor grayColor];
    separatorViewBottom.backgroundColor = [UIColor grayColor];

    // Add it
    [self.fromCell.contentView addSubview:separatorViewTop];
    [self.toCell.contentView addSubview:separatorViewBottom];

fromCell andCell并在IB中与IBOutlets连接。

可以请别人看看吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

如果您正在使用XIB for Custom单元格,那么在XIB本身中添加这些分隔符视图会很容易。我认为与在运行时添加相比,它更灵活。

答案 1 :(得分:0)

您还可以创建一个高度为1px的UIView,并且您想要成为分隔符的背景颜色

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath
{
    //Your code to create the tableviewcell...
    //Below 'theCell' is the current cell at index path to return

    if (thisIsTheCellIWantToAddSeparator) {
        UIView *separatorView = [[UIView alloc] initWithFrame:CGRectMake(0, theCell.frame.size.height-1, theCell.frame.size.width, 1)];
        theCell.backgroundColor = YOURCOLOR; //Set the color you want
        [theCell.contentView addSubview:imgView];
    }
    return  theCell;
}