UITableView:仅在指定部分启用分隔符

发布于 2024-12-11 17:44:17 字数 21 浏览 0 评论 0原文

如何仅在指定部分启用分隔符?

How can I enable separator only in a specified section?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夏至、离别 2024-12-18 17:44:17

有点黑客,可能不是最干净的解决方案,但您可以设置 UITableViewCell.separatorInset 值以使分隔符“不可见”。

例如,您可以在自定义 UITableViewCell 类中执行类似的操作(可能附加到笔尖):

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    self.separatorInset = UIEdgeInsetsMake(0, 0, 0, UIScreen.main.bounds.width)

}

因此,这会将插图的左右坐标设置为相同的值,并实际上创建0 长度的插入。如果您的表有多种行类型,您可以在特定行中使用上述内容来使分隔符不可见。对于要显示分隔符的行,只需使用表视图的分隔符设置即可。

A bit of a hack and probably not the cleanest solution but you can set the UITableViewCell.separatorInset value to make the separator "invisible".

For example you could do something like this in a custom UITableViewCell class (attached to a nib maybe):

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    self.separatorInset = UIEdgeInsetsMake(0, 0, 0, UIScreen.main.bounds.width)

}

So this would set the right and left co-ordinates of the inset to the same value and in effect create a 0-length inset. If you table has multiple row types, you can use the above in the specific rows to make the separator invisible. For the rows where you want the separator to show, just use the table view's separator setting.

静水深流 2024-12-18 17:44:17

好吧,如果您使用自定义单元格,您可以关闭 tableview 上的 separatorStyle 并在自定义单元格的 contentView 底部添加一个高度为 1、浅灰色背景的额外视图,或者将其添加到您的 Nib/Storyboard 的原型单元或以编程方式将其添加到单元初始化代码中。

这比在另一个答案中建议的在第一个表前面添加另一个表要干净得多。

Well, if you are using custom cells, you can turn off separatorStyle on the tableview and add an extra view of height 1 with a light gray background at the bottom of your custom cell's contentView, either add it in your Nib/Storyboard's Prototype Cell or programmatically add it in the cells initialization code.

This would be much cleaner than adding another table in front of the 1st table as suggested in the other answer.

淡淡の花香 2024-12-18 17:44:17
 separatorStyle

是表的一个属性,因此同一表的不同部分不能有不同的分隔符。因此,您将必须使用多个表并按照您想要的方式配置每个表的分隔符样式。

您可以将第二个表放在另一个表的前面,而不在隐藏的表部分中放置任何内容。

或者,您可以将第二个表放在第一个表的一部分内,并使该部分具有包含第二个表的单行。

 separatorStyle

is an attribute of the table, so you cannot have different separators in different sections of the same table. Therefore, you will have to use multiple tables and configure each one's separator style the way you want.

You could just place the 2nd table in front of the other table and not put anything in the table section that is hidden.

Alternatively, you could put the 2nd table inside a section of the 1st table, and make that section have a single row which contains the 2nd table.

请远离我 2024-12-18 17:44:17

在您需要分隔符的哪个部分添加 tableView.separatorStyle = .singleLine alter tableView.separatorStyle = .none

In which ever section you need separator add tableView.separatorStyle = .singleLine alter tableView.separatorStyle = .none

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文