替换 UILabel 的 minimumFontSize
Posted
技术标签:
【中文标题】替换 UILabel 的 minimumFontSize【英文标题】:Replacement for minimumFontSize for a UILabel 【发布时间】:2015-02-09 10:30:39 【问题描述】:我知道 minimumScaleFactor 但它对我所追求的结果没有用。
我有两个 UILabel,我希望它们的大小相同。如果可能的话,我希望它们适合标签的视图到最小尺寸,然后我会进行检查以将它们都设置为最小的字体大小,以便它们都适合并且大小相同。
我不认为我可以使用 minimumScaleFactor 来实现这一点,因为它似乎并没有真正改变字体大小,它似乎在视图上使用了某种缩放(如果我错了,请纠正我)。除了设置最小值之外,我似乎无法手动设置此比例,因此在我的情况下它似乎没用。
【问题讨论】:
【参考方案1】:在您的单元格中设置您想要的max_msg_height
。此功能将检查您的消息长度是否大于max_mgs_height
和字体大小,如果大于 12 点,它将继续。就我而言,我设置了max_msg_height = 160
。默认字体大小为 16。因此,如果我收到未在标签框架中调整的消息,那么我通过使用此 while 循环将字体减少 1 点,如下所示:
while (messageLbl.frame.size.height > max_msg_height &&
messageLbl.font.pointSize>12)
messageLbl.font = [UIFont systemFontOfSize:messageLbl.font.pointSize-1];
[messageLbl sizeToFit];
【讨论】:
您的代码到底是做什么用的?请解释您的代码,不要只是粘贴代码。 这将改变 UILabel 的高度。我的帖子询问如何更改字体大小以使其适合标签。标签本身不应改变大小。 在你的单元格中设置你想要的 max_msg_height。此功能将检查您的消息长度是否超过 max_mgs_height 并且字体大小是否大于 12 点,它将继续。在我的情况下,我设置了 max_msg_height = 160。默认字体大小为 16。因此,如果我收到未在标签框架中调整的消息,那么我通过使用此 while 循环将字体减少 1 点。以上是关于替换 UILabel 的 minimumFontSize的主要内容,如果未能解决你的问题,请参考以下文章
替换 UIlabel 代替 UIImageView 而不删除 interfacebuilder 中的约束