iPhone 5、6、6 Plus的UILabel字体大小问题

3
我正在使用 Xcode 7.3.1 开发适用于所有 iPhone 尺寸(5、6、6 Plus)的应用程序。我在 UILabel 字体大小上遇到了问题。对于 iPhone 5,UILabel 字体大小过大;对于 iPhone 6 Plus,字体大小太小。有没有人遇到过相同的字体大小问题?顺便说一下,我正在使用故事板,并不想通过 If-else 条件编程来设置字体大小。请建议最佳处理方法。
谢谢。

你是否在Storyboard中使用了minimumFontSize? - Vibha Singh
展示每个屏幕和故事板的截图。你的UILabel有哪些约束条件? - Umair Afzal
感谢Vibha和Umair。我通过创建UILabel的子类来处理它。 - Jai
3个回答

2
所以,这是一个需要通过大小类处理的问题,但目前只能为iPhone横屏、竖屏或iPad横屏、竖屏等指定不同的字体。如果您想在iPhone上更改一个方向的字体,则必须编程实现。
最好的方法是创建一个自定义的UILabel类,在它的awakefromnib方法中想出一个字体公式并分配字体。例如:
self.font = [UIFont fontWithName:@"CustomFont" size:self.font.pointSize * [currentviewwidth/viewwidthofxib/storyboard]];

1
如果您无法理解公式,请告诉我,我会更详细地解释。如果您在 iPhone 5s 上运行,当前视图宽度为 320,只需在此处提供屏幕宽度和 xib/storyboard 的 viewwidth,即您在 e.g 中设计的画布宽度,在 storyboard 中,您已将画布大小设置为 iPhone 6 Plus,则宽度将为 414。 - Ahmad Ishfaq
1
谢谢Ahmad。你建议的解决方案是我想到的第一件事,我已经实施了相同的方法,但我正在寻找更好的方法。看起来没有其他方法来解决这个问题。 - Jai
1
也许在未来,苹果公司会为我们添加更多的尺寸类别,以便我们能够适当地处理这种情况,但目前我不知道比这更好的方法。 - Ahmad Ishfaq

0

我认为您忘记了为所有设备分辨率添加启动图像


0
为解决这个问题,在storyboard/xib中为该标签设置MinimumFontSize。

谢谢你的回答,Neha,但最小字体大小在这种情况下没有帮助。 - Jai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接