【问题标题】:Disable Tab Bar storyboard appearance setting programmatically以编程方式禁用标签栏故事板外观设置
【发布时间】:2021-12-04 20:13:52
【问题描述】:

我的应用需要兼容 iOS 12.0 并有标签栏。自 iOS 13.0 起,UITabBarAppearance() 可用于更改其外观。在情节提要中,我在属性检查器中将Standard 选为Appearances。这会导致应用在使用 iOS 12.0 时崩溃。

如何以编程方式禁用标准外观?

if #available(iOS 13.0, *) {
    // code for iOS >= 13.0
} else {
    // code for iOS < 13.0
    // Here I would like to disable the storyboard standard appearances
}

【问题讨论】:

  • 您根本无法加载情节提要。代码无法撤消它。
  • 这不是关于加载情节提要。它以编程方式更改/覆盖故事板上的选择。
  • 关于加载故事板的。您正在崩溃,因为情节提要与系统不兼容。您自己说过:“在情节提要中,我在属性检查器中选择了标准作为外观。这会使应用在使用 iOS 12.0 时崩溃。”
  • 如果您必须支持较旧的操作系统版本,我建议您创建自己的标签栏。更容易维护和支持更新版本的操作系统,因此不那么令人头疼
  • @matt 明白了。我假设我可以配置故事板并在以后以编程方式更改 any 配置。显然是错的。感谢您的澄清。

标签: swift uitabbar ios13 ios12


【解决方案1】:

您已将情节提要配置为使用 iOS 12 中不存在的类 (UITabBarAppearance)。因此,如果应用在 iOS 12 上运行,则在情节提要加载时:Kaboom。

如果您希望此应用向后兼容,请以其他方式执行操作:在情节提要中将标签栏配置为 old 方式,然后切换到 new 方式在您的(条件)代码中。

【讨论】:

  • 现在就这样做了。作品!谢谢,
猜你喜欢
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 2016-02-19
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
相关资源
最近更新 更多