【问题标题】:iOS light mode and dark modeiOS 浅色模式和深色模式
【发布时间】:2020-04-13 14:01:28
【问题描述】:

我想在我的应用中拥有一项功能。我决定创建 UIAlertController 和 2 AlertAction:Light Mode 和 Dark Mode。如何通过单击其中一个 AlertAction 来更改整个应用程序的模式。请帮忙....

【问题讨论】:

标签: ios swift ios-darkmode


【解决方案1】:
@available(iOS 13.0, *)
func changeMode() {

      let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .alert)
          alertController.addAction(UIAlertAction(title: "DARK MODE", style: .default, handler: { action in

           UIWindow.animate(withDuration: 0.5, animations: {
                 UIApplication.shared.keyWindow?.overrideUserInterfaceStyle = .dark
                //also try : UIApplication.shared.windows.last?.overrideUserInterfaceStyle = .dark
                })
         }))

          alertController.addAction(UIAlertAction(title: "LIGHT MODE", style: .default, handler: { action in

           UIWindow.animate(withDuration: 0.5, animations: {
                 UIApplication.shared.keyWindow?.overrideUserInterfaceStyle = .light
                 //UIApplication.shared.windows.last?.overrideUserInterfaceStyle = .light

                })

          }))

    self.present(alertController, animated : true)

}

【讨论】:

  • 非常感谢,但您能帮忙制作动画吗,因为这段代码使变化非常迅速和急剧。
  • 我试过这个解决方案,但是 iOS 动画不一样。例如,当我想在设置中更改 iOS 模式时,它的工作非常流畅和美观。我在哪里可以找到这个解决方案?
  • 您必须为当前呈现的视图控制器设置动画。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-08
  • 2020-12-23
  • 1970-01-01
  • 2018-12-03
  • 2020-11-23
相关资源
最近更新 更多