我有一个UILabel,字体大小为17.如果我调用label.font.pointSize,我会得到17,这一切都很好. BBUUUUTTT我也有一个最小字体大小设置为8,现在如果我在标签中塞入一些文本导致点大小缩小然后调用label.font.pointsize即使我知道点大小较小,我仍然得到17
任何想法如何在系统调整字体大小后获得真正的磅值?
解决方法
我不知道用于在缩小内容时获取UILabel的当前磅值的API.您可以尝试使用sizeWithFont API来近似“缩放因子”.
只是一个想法:
// Get the size of the text with no scaling (one line) CGSize sizeOneLine = [label.text sizeWithFont:label.font]; // Get the size of the text enforcing the scaling based on label width CGSize sizeOneLineConstrained = [label.text sizeWithFont:label.font constrainedToSize:label.frame.size]; // Approximate scaling factor CGFloat approxScaleFactor = sizeOneLineConstrained.width / sizeOneLine.width; // Approximate new point size CGFloat approxScaledPointSize = approxScaleFactor * label.font.pointSize;