iPhone X上UITabBar的selectionIndicatorImage高度

12

我正在为一个高度为49个点的UITabBar使用selectionIndicatorImage,代码如下:UITabBar.appearance().selectionIndicatorImage = UIImage(named: "bg-tab-selected")

在所有设备上都可以正常工作:enter image description here

但是在iPhone X上却不行:

enter image description here

我尝试将图片仅在资源目录中进行垂直分割,但似乎没有预期的效果。出于某种原因它还水平拉伸了?并且顶部有一点填充。

enter image description here

有什么想法可以解决这个问题吗?

2个回答

39

我也遇到了同样的问题。我通过将高度减少1个像素来“解决”问题,因此选择图像的高度为48像素。这似乎是iPhone X的一个bug。


嗯,那很奇怪。我从来没有想过要尝试那个方法。不过似乎可以用,谢谢! - Ben Williams
太好了!我浪费了3个小时来尝试解决这个问题。您有我的赞成,先生! - schystz
@MuhammadUmar,请使用Photoshop将您的图像更改为48像素。如果您需要动态更改图像大小为48像素的代码,您可以在其他stackoverflow帖子中找到相关内容。 - Huy Hoang
可以通过编程将高度减少1像素。 - AleX
尝试过这个,但同一张图片在iPhone X和其他设备上都无法正常工作,你也遇到了同样的问题吗? - Omer
尝试使用一种方法将图像调整大小为 iPhone X 的 48 像素。 - Huy Hoang

-1

将选项卡的selectionIndicatorImage Insets的顶部或底部添加1个点似乎可以“暂时解决”此问题。

tabBar.selectionIndicatorImage?.resizableImage(withCapInsets: UIEdgeInsets.init(top: 1, left: 0, bottom: 0, right: 0))


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