【问题标题】:UIlabel Font Size issue for iPhone 5, 6 , 6 plusiPhone 5、6、6 plus 的 UIlabel 字体大小问题
【发布时间】:2016-10-21 12:27:13
【问题描述】:

我正在使用 Xcode 7.3.1 开发适用于所有 iPhone 尺寸(5、6、6plus)的应用程序。我遇到了 UIlabel 字体大小的问题。 iPhone 5 的 UIlabel 字体太大,而 iPhone 6 Plus 的字体太小。有没有人在字体大小方面遇到过同样的问题。顺便说一句,我正在使用情节提要,并且不想使用 If-else 条件以编程方式设置字体大小。请建议处理此问题的最佳方法。

谢谢

【问题讨论】:

  • 你使用的是故事板中的 minimumFontSize 吗?
  • 显示每个屏幕的屏幕截图,以及故事板。你的 UILabel 有什么限制?
  • 感谢 Vibha 和 Umair。我通过创建 UIlabel 的子类来处理它。

标签: ios iphone xcode swift


【解决方案1】:

所以这是一个需要通过大小类处理的问题,但您目前只能为 iphone 横向、纵向或 ipad 横向、纵向等指定不同的字体。如果您想在 iphone 上更改一个方向的字体而不是您必须以编程方式进行。 最好的方法是创建一个自定义的 UILabel 类,并在它的 awakefromnib 方法中提出一个字体公式并为其分配字体例如

self.font = [UIFont fontWithName:@"CustomFont" size:self.font.pointSize * [currentviewwidth/viewwidthofxib/storyboard]];

【讨论】:

  • 如果您看不懂公式,请告诉我,我会详细解释。如果您在 iphone 5s 中运行,当前视图宽度为 320,只需在此处给出屏幕宽度和 viewwidthofxib/storyboard 是您的画布宽度例如,在情节提要中进行了设计,您将画布尺寸设为 iphone 6 plus,因此宽度将为 414
  • 谢谢艾哈迈德。您建议的解决方案是我想到的第一件事,我已经实现了相同的解决方案,但我正在寻找更好的解决方案。似乎没有其他方法可以解决此问题。
  • 也许未来苹果会为我们添加更多的尺寸等级来适当地处理这种情况,但目前我不知道比这更好的一个
【解决方案2】:

我认为您缺少为所有设备分辨率添加launch image

【讨论】:

    【解决方案3】:

    要解决此问题,请在 storyboard/xib 中为该标签设置 MinimumFontSize

    【讨论】:

    • 感谢 Neha 的回答,但在这种情况下最小字体大小无济于事
    猜你喜欢
    • 2016-01-14
    • 2015-08-16
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2014-11-03
    相关资源
    最近更新 更多