【问题标题】:One text size for iPhone and another one for iPad一种文本大小适用于 iPhone,另一种适用于 iPad
【发布时间】:2023-03-13 21:02:01
【问题描述】:

我正在制作一个可以在 iPhone 和 iPad 上运行的应用程序。在 iPhone 上,可用空间有限,因此标签上的文本大小“小”,但在 iPad 上可用的屏幕尺寸更大,因此我也希望增加标签文本大小。我怎样才能做到这一点?

示例:我的标签在 iPhone 上的文本大小为 12 磅,在 iPad 上我可能希望它们为 26 磅。

我想为预处理器制作一些宏。某种样式表。每个 iPhone 尺寸都有对应的 iPad 尺寸。

(只是为了说明我的想法)

#define 12 CheckIfIphone then 12 otherwise 26

我让宏的名称为 iPhone 上的文本大小,如果当前设备是 iPad,则将其替换。

【问题讨论】:

    标签: iphone ipad


    【解决方案1】:

    您可以查看the documentation 以阅读有关检测当前设备的所有信息,尤其是UI_USER_INTERFACE_IDIOM。这些问题也可能对您有用:

    1. API to determine whether running on iPhone or iPad

    2. How does one get UI_USER_INTERFACE_IDIOM() to work with iPhone OS SDK < 3.2

    设置一个由设备类型决定的变量fontSize,然后使用[myLabel setFont:[UIFont systemFontOfSize:fontSize]];

    【讨论】:

    • 问题不是我如何检查它是哪个设备,而是如何根据设备在同一个标​​签上显示两种不同的文本大小。
    • @Andreas:这很容易。往上看。您可以检查每个标签(坏)每个视图控制器(不太坏)或设置一个全局(最好)。
    • 我不明白这如何解决我的问题。我想要一个字体大小,例如14 在 iPad 上更大。
    • @Andreas:您想将数字 14 更改为数字 28。我的建议是您定义 font14 = (ipad ? 28 : 14)(不,那不是真正的代码,只是一个想法的解释)。然后,当您将字体设置为 font14 时,它将在 ipad 上为 28 号,在 iphone 上为 14 号。
    【解决方案2】:

    我会考虑使用两个不同的stylesheets,比如

    ipad.cssiphone.css

    然后检测您正在使用的设备并提供适当的stylesheet

    使用此方法,您还可以拥有一个main.css,其中包含大多数不会更改的样式。每个设备都会得到stylesheet。特定于设备的样式表将仅包含该设备所需的那些样式。

    【讨论】:

    • 我认为我们在 iOS 应用中不需要 css。
    猜你喜欢
    • 2014-01-21
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    相关资源
    最近更新 更多