我的故事板中有一个静态console.log(
document.querySelector(".company-detail").innerHTML
.match(/[0-9a-z.@\s]+(?=<br>)/ig).toString().trim()
)
,其中包含系统单元格和自定义单元格的组合。为了使自定义单元格看起来像系统单元格,我已经从<p class="company-detail">
<span class="sb-span-left">Industry</span> : Recruiting Services<br>
<span class="sb-span-left">Telephone</span> : 023 993 009<br>
<span class="sb-span-left">Email</span> : cv@camupjob.com<br>
<span class="sb-span-left">Website</span>: www.camupjob.com<br>
</p>
的前面添加了一个15点约束到单元格的contentView(以匹配默认的分隔符插入15)点)。
当表格视图为纵向时,此策略很有效,但在横向视图中看起来约束会缩小,如下所示:
您可以在上图中看到&#34; BUG REPORTING&#34;部分标题,&#34;报告错误&#34;标签(由系统单元定位),两个单元格之间的线距离contentView左侧15个点,但是&#34; Logging&#34;标签更接近。
我尝试将标签约束到contentView并打开和关闭边距,结果是一样的。自定义标签的约束甚至会报告不同的常量值,因为它们与contentView左侧的距离明显相同。
有谁知道发生了什么?
答案 0 :(得分:2)
尝试为标签的前导约束创建IBOutlet
,并在显示单元格之前修改它:
func tableView(_ tableView: UITableView, willDisplayCell cell: UITableViewCell,
forRowAtIndexPath indexPath: NSIndexPath) {
let leftInset = cell.separatorInset.left
cell.labelLeadingConstraint.constant = leftInset - 8
// - 8.0 accounts for constraint to margins in autolayout
}
或者,您可以使用大小类为Compact Height大小类设置不同的约束:
然后,只需设置约束条件即可。常数为12而不是7(如果不使用边距,则为20而不是15)。