【发布时间】:2019-11-27 13:06:05
【问题描述】:
使用自定义单元格,我可以让暗模式/正常模式正常工作。但是,当使用 Apple 提供的默认框架单元时,无论我启用什么模式,它都保持白色。我在这里读到了
ios13 Dark Mode change not recognized by tableview Cell?
关于同样的问题。答案告诉我使用这个:
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection)
if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
removeAndReaddGradientIfNeeded()
}
}
但我不确定我应该如何使用它以及它与我的细胞有何关系。我现在的单元格代码是这样的:
if #available(iOS 13, *) {
cell.backgroundColor = UIColor.systemBackground
cell.textLabel?.textColor = UIColor(named: "MainLabelColor")
cell.detailTextLabel?.textColor = UIColor(named: "SubLabelColor")
}
我在具有两种模式的资产中使用系统颜色和自定义颜色,一种用于浅色,一种用于深色。现在,这在自定义单元格中可以正常工作,但默认情况下不行。
谁能告诉我如何在单元格中使用委托函数?
【问题讨论】:
-
您是否将该代码复制粘贴到您的代码中并构建并运行它?
-
您需要将此代码复制并粘贴到您的 TabeViewCell 类中。就是这样。
-
我做了,但
removeAndReaddGradientIfNeeded()收到错误“使用未解析的标识符”。没有找到替代品,如果我将其删除,暗模式单元格没有任何反应。
标签: swift uitableview cell ios-darkmode