【问题标题】:How do I handle iPhone 6S Plus's font size?如何处理 iPhone 6S Plus 的字体大小?
【发布时间】:2015-03-05 20:30:02
【问题描述】:

与其他屏幕尺寸相比,iPhone 6S Plus 的屏幕非常大。如果不以编程方式调整大小,我似乎找不到处理标签字体大小的好方法。

如何调整标签的字体大小,使其在 iPhone 5 上看起来更小,在 iPhone 6 Plus 上看起来更大?

【问题讨论】:

  • “控制其大小等级”是什么意思? Xcode 允许您创建基于大小类的条件约束。还存在什么问题?另外,“标签看起来很乱”是什么意思? 我的标签在 iPhone 6 Plus 上并没有“乱七八糟”,所以你不应该问自己为什么是你的标签吗?
  • 感谢您回答我的问题,马特。问题是您用来控制其他 iPhone 尺寸的尺寸等级不够准确。例如,如果我在 UIViewController 的顶部放置一个标签,则相同的标签在 4 英寸 iPhone 上看起来不错,但在 iPhone Plus 上却不行,它需要调整大小。不好的是我无法调整它的大小,因为 iPhone 6 Plus 没有自己的尺寸等级,因此我必须保留其他 iPhone 的限制。
  • 了解自动布局的工作原理。
  • 你是在告诉我有一种方法可以让 iPhone 6 Plus 纵向定位吗?如果是这样,那是关于什么的?谢谢。
  • "如果我在 UIViewController 的顶部放置一个标签,相同的标签在 4 英寸 iPhone 上看起来不错,但在 iPhone Plus 上却不行,它需要调整大小。坏事是我无法调整大小”标签的大小取决于其内容。如果它的内容没有改变,为什么需要调整大小?是你想调整标签的字体的问题吗?然后使用动态文本,让用户调整它的大小,或者在代码中更改它并让标签自己调整大小作为响应。

标签: ios size-classes iphone-6-plus


【解决方案1】:

不要更改 iPhone 6 或 iPhone 6+ 的字体大小。

人们购买这些手机是为了查看更多内容。无论如何,6+ 显示的东西比其他手机略大(是的,它有更大的像素,而不仅仅是更多的像素),如果用户想要更大的显示,他们可以将整个手机切换到缩放模式(6+ 和 6 ; 这会将 6+ 变成大 6,将 6 变成大 5)。

只需使用自动布局来相对于屏幕尺寸定位事物。

【讨论】:

  • “人们购买这些手机是为了看更多的内容。”这样的说法并不是万能的。
【解决方案2】:

您不能使用 AutoLayout 来定位 iPhone 6 Plus,因为它不适用于硬编码尺寸。您要么需要使用代码并执行以下操作:

if UIScreen.mainScreen().bounds.size.width == 375 {
    // iPhone 6
    label.font = label.font.fontWithSize(20)
}

just create a invisible view and set top and bottom constraints to it

【讨论】:

  • 这在横向模式下不起作用。如果用户自己选择了大字体,它就会中断。如果 iPhone 7 的宽度为 380 像素,它当然会坏掉。
【解决方案3】:

我认为最好使用自适应字体(here 是一个例子,自适应字体部分)

【讨论】:

    猜你喜欢
    • 2016-04-22
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2016-10-21
    • 2017-08-27
    • 1970-01-01
    相关资源
    最近更新 更多