在明暗主题之间切换

时间:2018-11-15 00:53:30

标签: ios swift uicollectionview themes

我正在关注一篇文章,为我的一个应用程序实现浅色和深色主题。可以在here中找到该文章。在本文中,一种有趣的方法用于一次编辑所有颜色,因此无需分别更改所有标签,背景等。新主题设置如下:

private func setNewTheme(_ newTheme: AppTheme) {
    let window = UIApplication.shared.delegate!.window!!
    UIView.transition(
        with: window,
        duration: 0.3,
        options: [.transitionCrossDissolve],
        animations: {
            self.theme.value = newTheme
        },
        completion: nil
    )
}

我建议您阅读文章以了解此机制的整个工作原理。这很好用,可以更改我的背景,UITabBar的颜色,UINavigationController的颜色等。但是,在某些UIViewControllers中,还有一个UICollectionView我也想更新。颜色保持不变,但是我想我需要重新加载数据才能使其正常工作?

我的问题是;设置其他主题后,如何实现将UICollectionViews重新加载的功能?

如果我提到的文章不是最佳实践,请引导我寻求实现此功能的最佳方法。

1 个答案:

答案 0 :(得分:0)

查看here。 我认为该回购协议可以给您一些建议。