【问题标题】:ios UITableView -> UITableViewCellSeparatorStyleNone leaves a line of one pixel height blankios UITableView -> UITableViewCellSeparatorStyleNone 留下一行一个像素高度的空白
【发布时间】:2012-05-15 16:46:48
【问题描述】:

我想省略两个表格视图单元格之间的分隔线。但是,我得到的不是没有分隔符,而是一条高度为 1 像素的分隔线,它只是留空,或者说完全透明。

如何告诉 uitableview 如何将下一个单元格直接附加到上面的单元格(没有任何间隙)?

【问题讨论】:

  • 我也刚刚注意到我得到了这个。我用 [m_tableView setSeparatorColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]];它摆脱了这条线,但仍然像你说的那样看到那条分隔线。

标签: ios uitableview separator


【解决方案1】:

好的,找到我的答案并分享它,以防它帮助他人。

我按程序设置了所有单元格,因此我关闭了分隔符

m_tableView setSeparatorColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]]

接下来我通过设置分隔符样式

m_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

虽然我不得不承认这似乎没有做任何事情,这可能是一个红人。

对我来说,我发现调用了 cellForRowAtIndexPath 来配置单元格,我必须将背景图像的高度扩展 1 个像素才能摆脱线条(我也为此使用了可拉伸的图像,这也可能会借给自己到奇怪的 +1 要求)。我不是任意 +1 的粉丝,但这似乎可以解决问题……

frameBackground.size.height += 1;

因此,虽然不支持 +1,但上述步骤对我的列表视图有效,现在不再有分隔符。

【讨论】:

    【解决方案2】:

    我发现我的标题设置为 1,删除这个解决了我的问题(我在奇数单元格分隔符中有额外的 1 个像素)我更改为 0,生活似乎更好

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
        return 0;
    }
    

    【讨论】:

      【解决方案3】:

      我无法摆脱分隔符,所以我最终决定在 UIScrollView 之上编写自己的 tableview。而“分隔符”还在!事实证明,UILabel 中存在一个错误,如果您设置背景颜色,有时会导致它沿顶部边缘绘制一条细线。修复方法是在图层上设置背景:label.layer.backgroundColor = color.CGColor;

      【讨论】:

        猜你喜欢
        • 2011-05-08
        • 2021-10-02
        • 2015-02-01
        • 1970-01-01
        • 2023-04-06
        • 2011-08-26
        • 2012-04-02
        • 1970-01-01
        • 2010-10-13
        相关资源
        最近更新 更多