UITabbar的背景图片(iOS)

3

我想将自定义图片设置为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系列上运行时,效果很好。

然而,我似乎无法将这两个设置结合起来,或者我错过了什么吗?

谢谢,Muff。

2个回答

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

0

在Swift中很简单,只需为选项卡栏设置一个输出口并执行以下操作:

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

目前我正在尝试在应用程序委托中使用以下代码设置背景图片:var bg_image : UIImage = UIImage(named:"tab_bar_bg.png")! UITabBar.appearance().backgroundImage = bg_image。问题是,在不同的iOS设备上,图像似乎无法适当地缩放以适应屏幕。此外,我正在使用一个选项卡控制器,但我找不到一种方法来创建它的输出口,但这应该没有关系吧? - Muff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接