如何根据 dark/light 模式设置默认标签颜色(在 Swift 中)
How to set default label color based on dark/light mode (in Swift)
我正在尝试为深色模式更新我的 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 = ""
}
}
}
textView.textColor = UIColor { tc in
switch tc.userInterfaceStyle {
case .dark:
return UIColor.white
default:
return UIColor.black
}
}
这是最简单的方法,可以通过 traitCollection (TC) 向 UIColor 传递一个闭包,并且 traitCollection 有一个 属性 称为 userInterfaceStyle ,它告诉用户是否正在使用暗模式,然后您只需实现switch 语句来选择你想要的颜色 return
您只需将 UIColor.systemBackground 分配给您的 UITextView 文本颜色
textView.textColor = UIColor.systemBackground
它会自动在深色模式下将文本颜色更改为白色,在浅色模式下文本颜色将自动更改为黑色
你已经调用了这行代码,它在深色模式和浅色模式下都可以正常工作。
祝你好运
label.textColor = .none
或使用UIColor.label
获取系统标签颜色。
我正在尝试为深色模式更新我的 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 = ""
}
}
}
textView.textColor = UIColor { tc in
switch tc.userInterfaceStyle {
case .dark:
return UIColor.white
default:
return UIColor.black
}
}
这是最简单的方法,可以通过 traitCollection (TC) 向 UIColor 传递一个闭包,并且 traitCollection 有一个 属性 称为 userInterfaceStyle ,它告诉用户是否正在使用暗模式,然后您只需实现switch 语句来选择你想要的颜色 return
您只需将 UIColor.systemBackground 分配给您的 UITextView 文本颜色
textView.textColor = UIColor.systemBackground
它会自动在深色模式下将文本颜色更改为白色,在浅色模式下文本颜色将自动更改为黑色
你已经调用了这行代码,它在深色模式和浅色模式下都可以正常工作。 祝你好运
label.textColor = .none
或使用UIColor.label
获取系统标签颜色。