【问题标题】:Tab Bar Icon Size标签栏图标大小
【发布时间】:2018-09-04 15:26:16
【问题描述】:

苹果says:

根据设备和方向,系统会显示常规或紧凑的标签栏。您的应用应包含两种尺寸的自定义标签栏图标。

不幸的是,他们没有说明你什么时候得到的。

我也可能包含这两种尺寸的图像,但系统会自动在它们之间切换(如何?)还是我必须自己做?

【问题讨论】:

    标签: ios uikit uitabbarcontroller uitabbaritem


    【解决方案1】:

    您不应该自己执行此操作,系统会自动执行此操作。

    这里是 Apple 人机界面指南,您可以在其中找到图标分辨率: https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/custom-icons/

    例如: 如果您为标签栏项目使用圆形图标,您应该为纵向模式创建以下尺寸:

    • 75px × 75px (25pt × 25pt @3x)
    • 50px × 50px (25pt × 25pt @2x)
    • 25px × 25px (25pt × 25pt @1x)

    对于横向模式:

    • 54px × 54px (18pt × 18pt @3x)
    • 36px × 36px (18pt × 18pt @2x)
    • 18px × 18px (18pt × 18pt @1x)

    将此图标添加到 Assets.xcassets 或某处后,您可以从情节提要中选择 Tab Bar Item 图标:

    选择标签栏项目,然后在属性检查器中,为图像字段选择纵向图像,为横向字段选择横向图像。

    之后系统会为你做所有事情。

    【讨论】:

    • 如果您以编程方式执行,则该景观属性不存在。
    • 这里是 var LandscapeImagePhone: UIImage?它在 UIBarItem 类中声明,UITabBarItem 类使用继承获取它
    • 啊,关于UITabBarItem 超类。谢谢!
    【解决方案2】:

    TLDR:您可以通过将 Width Class 设置为 Any & Compact,为 Asset Catalog 中的常规或紧凑标签栏指定不同的图标。

    是的,根据人机界面指南Custom Icons - Tab Bar Icon Size,您应该包括两种图标尺寸

    纵向时,标签栏图标显示在标签标题上方¹。在横向模式下,图标和标题并排显示。

    ¹⁾ 这仅适用于 iPhone。在适用于全屏应用的 iPad 上,图标和标题在纵向和横向上并排显示。

    根据设备和方向,系统会显示常规或紧凑的标签栏。您的应用应包含两种尺寸的自定义标签栏图标。

    指南正在谈论Size Classes。在这种情况下,常规或紧凑标签栏表示常规或紧凑宽度尺寸类的标签栏。

    您可以在资产目录中为不同尺寸类别指定不同的图像。只需在属性检查器中为您的标签栏图标图像集设置 Width classAny & Compact

    在任意宽度部分为常规尺寸类设置较大的图像,在紧凑宽度部分为紧凑尺寸类设置较小的图像。

    然后系统会根据尺寸等级(设备、方向、多任务配置)自动显示正确的图像

    您可以在人机界面指南Custom Icons - Tab Bar Icon Size 中找到正确的图标大小。

    例如,对于圆形字形,图标应该是:

    • 25x25 pt (50x50 px @2x) 用于常规标签栏
    • 18x18 pt (36x36 px @2x) 用于紧凑型标签栏

    对于方形字形,图标应为:

    • 23x23 pt (46x46 px @2x) 用于常规标签栏
    • 17x17 pt (34x34 px @2x) 用于紧凑型标签栏

    宽字形和高字形还有其他尺寸。

    在上面的屏幕截图中,我在属性检查器中使用了 Scale 设置为 Single Scale 的 PDF 图像。系统会自动生成 1x、2x 和 3x PNG。

    【讨论】:

    • 我在 S.O. 上看到的最佳答案。了解如何让它真正与矢量图像一起工作!
    【解决方案3】:

    不幸的是,紧凑/常规状态不仅取决于方向或应用窗口大小,还取决于设备。

    您可以找到针对不同设备的常规/紧凑尺寸细分here。您应该寻找第二个值(例如紧凑宽度、常规高度)。

    只要方向/应用程序窗口发生变化,两种类型的图标就会自动发生变化。

    【讨论】:

    • 啊,设备尺寸等级是什么意思!?您可以将“高度等级”添加到我刚刚注意到的图像资产中。好的。这让事情变得更清楚了。
    猜你喜欢
    • 1970-01-01
    • 2014-04-05
    • 2012-06-22
    • 2011-09-24
    • 2021-07-18
    • 2013-05-20
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    相关资源
    最近更新 更多