我现在使用自定义UITableViewCell,使用自动布局“动态”高度。
然而,这些划分器有点不对。
这是一个UITableViewController。图像的宽度是模拟器中iPhone的全宽。
有人有线索吗?它是架子的UITableViewController,其中没有太多代码,主要是数据源/委托代码。
要清除我想要分隔符,但我希望它们在两边同样缩进。默认缩进很好,位于左侧,但不是右侧。
答案 0 :(得分:1)
正如Fogmeister所提到的,您可以完全删除分隔符,只需在自定义表格单元格上添加分隔符视图,或者可以通过设置
来扩展分隔符。cell.separatorInset = UIEdgeInsetsZero
cell.layoutMargins = UIEdgeInsetsZero
tableView.separatorInset = UIEdgeInsetsZero
tableView.layoutMargins = UIEdgeInsetsZero
请注意,这仅适用于iOS 8及更高版本。
答案 1 :(得分:0)
这些被称为分隔符。
您可以在Interface Builder中将它们作为tableView上的属性关闭。
选择tableview并为分隔符选择“None”属性。
答案 2 :(得分:0)
UITableViewCell分隔符的默认值是缩进的。但是,通过深入了解UITableViewCell的子视图,您可以通过更改其框架来移动和调整分隔符的大小。
在自定义UITableViewCell类中,覆盖layoutSubviews()方法,这样您就可以通过迭代单元格的子视图并检查UITableViewCellSeparator类型的子视图来获取单元格子视图时的分隔符对象。例如,如果要使分隔符跨越整个单元格的宽度,请将其框架的origin.x更改为0,并使分隔符成为单元格contentView的整个宽度。
override func layoutSubviews() {
super.layoutSubviews()
for subview in self.subviews {
if subview.dynamicType == NSClassFromString("_UITableViewCellSeparatorView") {
var newFrame = subview.frame
newFrame.origin.x = 0
newFrame.size.width = self.contentView.frame.width
separator.frame = newFrame
}
}
}