我想知道如何设置UILabel的宽度,表示为Cell总宽度的百分比?我正在使用AutoLayout。通常我会点击标签并将EqualsWidth设置为parentView,然后调整乘数,以便将宽度设置为parentWidth的%。但是使用InterfaceBuilder,该选项似乎在Cell中不可用。
但是我想知道它可能与设置首选宽度有关:我使用ios8 +并且读过隐式宽度不适用于ios8?
我希望实现的是标签1和标签3都是Cell的宽度的15%,标签2的前端和后端固定到UIImageView和Label 3,这将允许它增长和缩小,具体取决于设备的宽度。
答案 0 :(得分:6)
您应该采取的步骤,以实现在单元格内设置任何子视图的百分比宽度的目标:
将UIView添加到您的单元格并将其固定到每个边缘 - 我们必须添加自定义容器视图,以便稍后能够添加“Widths equal”引脚。
将UILabel添加到以前添加的UIView容器中。让我们说我们想要添加左侧标签,因此添加3个针脚:左侧,顶部,底部。
您现在可以看到约束设置中存在错误。所以我们修复它并添加“Widths equal”引脚。在View Controller Scene菜单中选择2个视图 - 容器和标签。转到XcodeMenu / Editor / Pin /并选择“Widths equal”。现在您应该在约束设置中看到没有错误,并且标签应该与容器具有相同的大小。 (请注意,有时您必须在设置约束后刷新视图的帧,因此如果您看到“黄色”警告图标,请不要害怕并且只需单击它。)
现在,如果您拥有所有约束,我们需要设置实际百分比值。打开选项卡大小检查器,单击步骤3中添加的约束上的“编辑”标题,并将乘数值更改为0.15(15%)。
请注意,如果您使用相同的技术添加标签,但是对于右侧,则需要将乘数值设置为6.66(= 1.00 / 0.15)。
干杯!
答案 1 :(得分:0)
您可以设置宽度约束,然后为IBOutlet
单元格中的UITableView
创建constraint.constant
并更改layoutSubView
tableViewCell
方法中的{{1}}值