繁体   English   中英

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

[英]Issue in setting background image in UITabBar

我正在尝试在 UITabBar 中设置背景图像。 标签栏和背景图像的高度为 49 像素。 它适用于除 iPhone X 及更高版本之外的所有设备。 在 iPhone X 中,图像仅被部分填充,确切地说是总高度的 49 像素。

为了解决这个问题,我增加了图像高度,使其完全适合 iPhone X 设备。 它在运行在 iOS 13 中的 iPhone 8 设备(原始背景图像调整为 49 像素)中运行良好,不幸的是,在 iPhone 8 的iOS 12版本中,它损坏了,背景图像显示在它的精确高度。

有谁知道为什么会这样? 这个问题有什么解决方法吗?

UITabBar 非常反复无常。 如果您确实为每种尺寸的标签栏找到了解决方案,则应该使用扩展名,它可以让您轻松检测设备的类型。

之后,您可以使用开关:

switch UIDevice().type {
    case .iPhone4, .iPhone4S, .iPhone5, .iPhone5C, .iPhone5S, .iPhone6, .iPhone6S, .iPhone6Plus, .iPhone6SPlus, .iPhone7, .iPhone7Plus, .iPhone8, .iPhone8Plus:
        imageView.contentMode = .scaleAspectFill
    case .iPhoneX, .iPhoneXR, .iPhoneXS, .iPhoneXSMax, .iPhone11, .iPhone11Pro, .iPhone11ProMax:
        imageView.contentMode = .scaleAspectFit
    default:
        ()
    }

您可以为您的图像使用任何特定的自定义或在此块内使用不同的图像。

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM