复选标记未显示在 UITableView 中的 iPad 上

Posted

技术标签:

【中文标题】复选标记未显示在 UITableView 中的 iPad 上【英文标题】:Checkmark not showing up on iPad in UITableView 【发布时间】:2018-02-16 13:34:03 【问题描述】:

我希望用户能够在UITableView 中选择一行,然后让该行显示复选标记附件。首先检查它在 UI 中的外观,我通过 XCode 界面设计器添加了复选标记,如下所示;

在 iPhone X 模拟器上运行它并按预期工作。

但是当我在 iPad Pro(12.9 英寸)(第 2 代)模拟器上运行它时,它没有显示出来。

所以我认为可能是约束问题,所以我尝试将所有可能成为问题的视图的宽度写入控制台,它们都返回 1024,所以这是正确的。

当我尝试通过代码设置复选标记时,我遇到了同样的问题。

我错过了什么吗?

编辑: 单元格上带有红色边框的屏幕截图。

【问题讨论】:

检查你的tableView框架,也许他的宽度比你想象的要大 ipad 768/1024 宽度为768 @Sh_Khan iPad Pro 12.9 英寸逻辑分辨率为 1024 x 1366 像素,根据 ios 设计规范。 @ReinierMelian 在尺寸检查器的视图部分中,它说它的宽度为 375,当我选择不同的“查看为 ...”时它会被锁定并发生变化,所以我不认为那是它,谢谢你的回复。 处于调试模式? @DylanvandenBrink 请添加cell.layer.borderWidth = 1cell.layer.borderColor = UIColor.red.cgColor 并发布截图 【参考方案1】:

您的问题肯定是关于constraintsAuto Layout

您应该为 superView 设置约束以进行复选标记:尾随/顶部/底部

UILabelCheckmark 之间的水平间距。

并编辑最后一个约束,使其“大于或等于”,这样它最终会随着更大的屏幕而增长。 您还需要更改您的内容拥抱优先级

Simpler solution : 您也可以使用UIStackView 来按比例对齐标签和复选标记,而不管屏幕分辨率如何。

【讨论】:

我会接受这个作为答案,因为我认为这对访问这个问题的人最有帮助,谢谢!

以上是关于复选标记未显示在 UITableView 中的 iPad 上的主要内容,如果未能解决你的问题,请参考以下文章

tableViews 中的搜索和复选标记

关闭 UITableView 静态单元格中的复选标记

如何在 UITableView 的编辑模式下只显示复选标记选择而不选择整个 UITableViewCell?

如何使用一个 UIButton 从 UITableView 中选择和取消选择所有复选标记?

滚动会弄乱 UITableView 中的自定义单元格

滚动时 UITableView 复选标记消失