我正在尝试将我的iOS应用更新为暗模式,但是在代码中设置暗模式颜色时遇到了麻烦。在编辑UITextView时,我希望在深色模式下文本颜色为白色,在浅色模式下文本颜色为黑色(这是默认标签颜色),但是据我所知,我不知道该如何在代码中编写该代码,这样做吗?
extension AddCardsVC: UITextViewDelegate {
func textViewDidBeginEditing(_ textView: UITextView) {
if #available(iOS 13.0, *) {
definitionInput.textColor = UIColor.(need default label color)
} else {
definitionInput.textColor = UIColor.black
}
if(definitionInput.text == "organizing items into familiar, manageable units; often occurs automatically"){
definitionInput.text = ""
}
}
}
答案 0 :(得分:5)
textView.textColor = UIColor { tc in
switch tc.userInterfaceStyle {
case .dark:
return UIColor.white
default:
return UIColor.black
}
}
这是最简单的方法,可以通过traitCollection(TC)将UIColor传递给闭包,并且traitCollection具有一个名为userInterfaceStyle的属性,该属性指示用户是否使用暗模式,那么您只需实现switch语句以选择哪种颜色即可您想返回
答案 1 :(得分:5)
您已调用此代码行,它在暗模式和亮模式下均可正常工作。 祝你好运
label.textColor = .none
答案 2 :(得分:3)
或使用UIColor.label
获取系统标签颜色。
答案 3 :(得分:-1)
您只需要将UIColor.systemBackground分配给您的UITextView文本颜色
textView.textColor = UIColor.systemBackground
它将自动在黑暗模式下将文本颜色更改为白色,而在明亮模式下将文本颜色自动更改为