iOS标签栏混乱

Posted

技术标签:

【中文标题】iOS标签栏混乱【英文标题】:iOS tab bar confusion 【发布时间】:2016-02-10 07:01:24 【问题描述】:

我在使用情节提要之前为 iPhone 5 创建了代码,并希望添加对 iPhone6 和 6+ 的支持..

有一个高度为 49 的 Tabbar 控制器,并有 3 个标签图标。这一切都在 iphone 5 上完美运行,没有任何问题..看起来不错的标签栏..

我应该为 iPhone 6/6+ 做什么.. 我已经在 iPhone 5 的标签栏控制器上放置了背景图像以及 3 个图标.. 现在我必须更改任何代码或任何情节提要设置以使应用程序与 @987654321 兼容@?

我已经通过 Photoshop 为iphone6/6+ 创建了背景图像(标签栏)和 3 图标,所以它与 iphone 5 背景图像和图标相比有点大。我对这个设置是否正确?我应该为 iphone6/6+ 的背景图像和图标创建更大的图像尺寸还是保持旧尺寸的背景图像和图标尺寸(iphone 5)?

我正在使用代码 ios-7,8,9 进行测试。

【问题讨论】:

你使用过什么 Autolayout 约束或 Size 类? 【参考方案1】:

Image Assets 中需要 3 种图像,因为就缩放或像素而言,Apple 设备(iPhone 和 iPad)有 3 种

1 像素 = 1 点@1x 的普通设备(旧 iPhone 和 iPad 设备)

4 像素 = 1 点@2x (iPhone 5+) 的 Retina 设备

Retina iPhone6 和 iPad 9 像素 = 1 点@3x (iPhone6+)

因此,为了以 3 种比例提供相同的图像,iOS 决定为哪些设备显示哪个图像。希望可以帮助您理解这一点。

点击此链接 https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html

【讨论】:

好的。谢谢回复..所以我需要 3 个不同大小的图像 iphone 5,6,6+ 用于标签栏图标..我如何在故事板中设置或者我必须手动编码类似 if phone 5 ... else if iphone6 ... etc etc.. 还有一个问题是 iphone 5 和 iphone 6 都有 @2x.png 格式所以我如何设置 iphone 5 的图像或 iphone 6 的其他图像,如果在情节提要中做? No.... 转到文件夹层次结构中的 Images.xcassets 并粘贴 1x、2x、3x 图像并在故事板和程序中仅使用图像名称(如您使用 xyz@1x.png xyz@ 2x.png xyz@3x.png 图像并在程序中使用这些图像,您必须使用名称 xyz 而不是 xyz@1x.png 并且 xcode 将根据屏幕尺寸绘制 1x、2x、3x) 我按照您的步骤操作,但之后我进入了 iphone 5,它工作正常,但 iphone 6 出现问题:dropbox.com/s/vw3rcpm9doz0quj/…dropbox.com/s/hd997s0tapuf1s3/… 请检查给定的两个链接,一个是 iphone 5,另一个是 iphone 6... 其他问题可能有助于理解彼此的问题:tabbarcontroller image hight and width are different for iphone5/6 .. iphone 5:650x49 和 iphone 6:750x60 ......这是正确的还是我错了?

以上是关于iOS标签栏混乱的主要内容,如果未能解决你的问题,请参考以下文章

iOS 6 + 7 中的 iOS 隐藏状态栏和标签栏

在 ios 7 中制作透明导航栏和透明标签栏。

ios标签栏点击显示模态视图黑屏

StoryBoard IOS 中的双标签栏

标签栏在 iOS 中不可见

iOS 标签栏/工具栏是不是支持按钮/标签/图像?