UITabBar setScrollEdgeAppearance 没有可见的 @interface

Rom*_*rga 5 uitabbarcontroller uitabbar ios xcode12 xcode13

今天我在 Xcode 12 上遇到了问题。当我尝试 iOS 15 版本的应用程序时,我注意到选项卡栏背景发生了变化。我通过添加这行代码解决了这个问题

if (@available(iOS 15.0, *)) {
    [[UITabBar appearance] setScrollEdgeAppearance:tabBarAppearance.appearance];
}
Run Code Online (Sandbox Code Playgroud)

但当我从 Xcode 13 换回 Xcode 12 后,我遇到了这个问题。

'UITabBar' 没有可见的 @interface 声明选择器 'setScrollEdgeAppearance:'

对我来说似乎是 Xcode12 bug,但也许我错了。

编辑:添加了代码中的 if 语句

Ala*_*tar 1

我认为那是因为它scrollEdgeAppearance只是UINavigationBariOS < 15 版本的一个属性。自 iOS 15 以来,他们已将其扩展到所有其他导航栏

根据苹果文档:

在使用 iOS 14 或更早版本的应用程序上运行时,此属性适用于具有大标题的导航栏。在 iOS 15 中,此属性适用于所有导航栏。