UITabbar ios的背景图

Posted

技术标签:

【中文标题】UITabbar ios的背景图【英文标题】:Background image of UITabbar ios 【发布时间】:2015-11-04 21:56:45 【问题描述】:

我想将自定义图像设置为 UITabbar 的背景图像。

我知道应用程序中应该有不同的尺寸,以分别支持视网膜和非视网膜,640x98 和 320x49,并在视网膜图像名称中添加 @2x 前缀。

我要使用的图像不是对称的,即当您从左到右查看图像时,颜色会发生一些变化。

我遇到的问题是图像适合 Iphone 4s、5 和 5s 的标签栏内,但不适合 Iphone 6、6 plus、6s、6s plus 等。

我想这与 Iphone 6 系列的屏幕更宽有关。当我增加图像的宽度时,它确实适合 Iphone 6 系列,但不适用于 4s、5 和 5s(只能看到图像的 2/3)。

塞纳里奥

当我尝试使用 320x49 大小的图像在 4s、5 和 5s 上运行时,它非常适合。当我使用 640x98 运行时,图像太宽了。

当我尝试在 6 系列上运行 320x49 时,图像的宽度不足以填满整个标签栏,因此它被平铺(看起来很奇怪)。 当我以 640x98 运行 6 系列时,它非常适合。

但是我似乎无法将这两个设置结合起来,或者我缺少什么?

谢谢,马夫。

【问题讨论】:

【参考方案1】:

您可以尝试将不同尺寸的图片添加到图片资源文件中。 当您在其中创建新集时,它将显示不同尺寸(1x、2x、3x)的选项。您也可以右键单击并选择您要定位的设备。有 Universal、iPhone、iPad、Apple TV、Apple Watch 和 Mac。当你调用图像时,它会相应地设置。

【讨论】:

【参考方案2】:

在 swift 中很简单,只需给标签栏一个出口,然后这样做:

tabBar.backgroundImage = UIImage(named: "image")

【讨论】:

目前我正在尝试在应用程序委托中使用var bg_image : UIImage = UIImage(named:"tab_bar_bg.png")! UITabBar.appearance().backgroundImage = bg_image 设置它。问题是图像似乎无法缩放以适合不同 ios 设备上的屏幕。而且,我正在使用一个标签栏控制器,但我找不到一种方法来制作它,但这不重要吗?

以上是关于UITabbar ios的背景图的主要内容,如果未能解决你的问题,请参考以下文章

IOS 如何让背景图铺满这个屏幕

在 UITabBar 中设置背景图像的问题

使用 CAGradientLayer 类更改 UiView IOS 的渐变背景图层颜色

在 iOS7 中移除 UITabBar 水平分隔符

UITabbar 背景图像重复出现

苹果12手机微信背景图和安卓手机背景图不一样,怎么回事