【问题标题】:UITableView dark themeUITableView 深色主题
【发布时间】:2017-04-04 09:18:47
【问题描述】:

我正在尝试让我的应用程序使用深色主题,到目前为止,我已将故事板中的导航控制器和标签栏控制器的样式更改为 Dark 以获得系统深色主题,但是当我试图让我的表格视图变暗时,我找不到等效的选项。

我是否遗漏了什么,并且有一个选项,在故事板或代码中,让所有 UITableViews 使用系统黑暗主题?如果没有,使用默认/标准颜色实现此目的的最佳方法是什么?

我正在尝试实现类似于配对 Apple Watch 时可用的 Activity 应用程序:

【问题讨论】:

  • 你能解释一下“黑暗主题”的含义吗?

标签: ios uitableview uikit


【解决方案1】:

没有所谓的“黑暗主题”...除非您自己创建一个。

您可以通过多种方式自定义UITableView...

找到它们的最佳位置是the Apple Documentation for UITableView

您可以更改backgroundColor 单元格颜色、分隔符颜色等...

【讨论】:

  • 感谢您的快速响应,我通过 UIAppearance 实现了我的目标。
【解决方案2】:

Apple 没有开箱即用的实现。

这是一种通用方法:

  1. 为 UI 配置创建一个 Theme 类。它将包含几个属性,如 UIColors/UIImages/SystemSoundIDs/Strings 等,具体取决于您的需要。

  2. 您也可以创建config json file 并为主题配置创建主题参数列表。 (如果您想快速更改或什至从服务器接收 json 配置并配置整个应用程序,这将使配置变得更容易)

  3. Theme 对象将获取 json 文件的某些参数或字段并配置字体/颜色/背景/大小等。

  4. 您可以创建一个方法,例如class func applyThemeToViewController(vc: UIViewController, theme: Theme) 用于配置某个屏幕或通过UIAppearence 代理配置全局。

【讨论】:

  • 感谢您的提示,但我不打算支持多个主题,通过应用程序委托中的 UIAppearence 全局配置就足够了
  • @MarcoBoschi 如果您确定不会扩展主题的功能 - 是的,但我建议创建一个单独的主题类来配置目标屏幕。这不会花费很多时间,但实现会更加灵活和可读;)
猜你喜欢
  • 2022-08-12
  • 2019-05-10
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-17
  • 2015-10-07
相关资源
最近更新 更多