替换UILabel的minimumFontSize

时间:2015-02-09 10:30:39

标签: ios objective-c uikit uilabel sizetofit

我知道minimumScaleFactor,但它对我之后的结果没用。

我有两个UILabel,我希望它们都是相同的大小。我希望它们适合标签的视图(如果可能的话,最小尺寸),然后我会检查它们是否都设置为最小的字体大小,这样它们都适合并且都是相同的大小。

我不认为我可以使用minimumScaleFactor实现这一点,因为它似乎并没有真正改变字体大小,它似乎在视图上使用某种缩放(如果我错了,请纠正我)。我似乎无法手动设置此比例,除了设置它的最小值,所以在我的情况下似乎没用。

1 个答案:

答案 0 :(得分:-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];
}