无法为自定义 UITableView 单元设置约束,在 xib 中创建,因为所有数据在大小类更改时消失

Posted

技术标签:

【中文标题】无法为自定义 UITableView 单元设置约束,在 xib 中创建,因为所有数据在大小类更改时消失【英文标题】:Unable to set constraints for custom UITableView Cell, created in xib as all data gets disappear on chage of size class 【发布时间】:2015-05-26 14:17:07 【问题描述】:

我无法在 xcode 6.1 项目中向 UITableView Cell 添加约束。在我的项目中,我在 xib 中创建了自定义表格视图单元格,作为根视图并使用表格视图数据源加载该笔尖。单元格是使用大小类“任意宽度和任意高度”创建的,并添加了所有必需的约束。

现在我想在纵向模式下为 iPhone 设置约束。当我突然将尺寸类更改为“紧凑宽度和常规高度”时,单元格的所有 UI 控件都从 xib 获取尿布。甚至那些 UI 控件和约束在大纲视图(编辑器区域的左侧)中也是可见的。在这种情况下,我无法添加任何约束甚至 UI 控件。

有什么解决办法,让我可以在Cell中添加约束。

提前谢谢你..

【问题讨论】:

【参考方案1】:

我认为这是我使用的 XCode(6.1) 版本的问题。

由于找到解决方案非常关键,我在反复试验后找到了临时解决方案。

选择要修改的约束。 在属性检查器中,通过常量值旁边的 (+) 号添加所需的大小类 为此特定尺寸等级设置您想要的值

对于您只需要特定尺寸类的任何约束,然后为 Any Width 和 Any Height 常量值取消选中“已安装”(在约束的属性检查器的末尾)。

这是临时解决方案。我希望在升级后的 XCode 中我们可以看到包含各种大小类的基于 xib 的表格单元

【讨论】:

以上是关于无法为自定义 UITableView 单元设置约束,在 xib 中创建,因为所有数据在大小类更改时消失的主要内容,如果未能解决你的问题,请参考以下文章

更改单元格中的数据后,UITableView 中的自定义单元格将无法正确重新加载

UIButtons 不会显示在我的 UITableView 中

UITableView 标题部分的高度不会为自定义 UIView() 类自动调整

UITableView setEditing 不会为标签约束更改设置动画

如何根据动态高度单元格设置 UITableView 的高度约束?

分隔符在具有自动行高的 UITableView 中生成约束问题 [重复]