ios - 如何在 iOS 中为暗模式更改设置动画?

标签 ios swift

用户可以在应用设置的某一部分切换主题,如下所示。
这是通过更改 window.overrideUserInterfaceStyle 来完成的.
虽然它按预期工作,但更改根本没有动画。整个应用程序会立即进入选定的样式,而不是在 iOS 设置应用程序中平滑更改。
只需将作业放入 completionUIView.animate(withDuration duration: TimeInterval, animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil)不会工作。
app setting

最佳答案

有一种简单的方法可以通过动画更改应用程序暗模式主题

if let window = UIApplication.shared.keyWindow {
    UIView.transition (with: window, duration: 0.3, options: .transitionCrossDissolve, animations: {
        window.overrideUserInterfaceStyle = .dark //.light or .unspecified
    }, completion: nil)
}

关于ios - 如何在 iOS 中为暗模式更改设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63653747/

相关文章:

iOS SwiftUI : ScrollView ignore top safe area

swift - URLSession dataTask 方法返回 0 字节数据

ios - 如何通过 segue 将 NSTimeInterval 值从 swift 传递到 Objective C

ios - 动画条随着时间的增加而上升

ios - 如何在 Swift 中不向 NSJSONSerialization.JSONObjectWithData 传递任何选项

ios - 使用 UIActivityViewController 分享实时照片

ios - CollectionView 中的自定义单元格重新排序行为

ios - 为什么使用更大的显示器时游戏速度变慢 (fps)?

ios - iOS panGesture 的交互动画

ios - 我可以通过在 iOS 应用程序中使用 API Spotify 来解决这个问题吗?