问题描述
我在表格视图单元格的右侧放置了一个 UIImageView
,并向单元格 20 添加了尾随约束。
然而,当我运行应用程序时,图像一直在单元格的左侧结束。
我的表视图控制器代码非常基本:
override func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "SailboatCell",for: indexPath) as! SailboatTableViewCell
return cell
}
标识符正确,我也设置了单元格的类。
在设备上,当应用程序启动时,图像在右侧,但当我开始滚动时,图像在新创建的单元格的左侧。当我将设备置于横向然后再次纵向时,事情会自行恢复。
不打印自动布局警告。
早些时候,我在单元格上有其他 UI 元素,它们按预期很好地放置(从左到右)。只有图像视图表现得很奇怪。我删除了所有其他 UI 元素以避免任何干扰。
编辑:我重新创建了单元格,一切都很好。不知道是什么。
解决方法
这可能是因为您已将单元格的 semanticContentAttribute
设置为 .forceRightToLeft
或 UIView.appearance()
。
根据 semanticContentAttribute 的 Apple 文档:
视图内容的语义描述,用于确定在从左到右和从右到左布局之间切换时是否应该翻转视图。