如何快速设置默认标签颜色

时间:2020-01-29 21:48:58

标签: ios swift ios-darkmode

我正在尝试将我的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 = ""
        }
    }

}

4 个答案:

答案 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 

它将自动在黑暗模式下将文本颜色更改为白色,而在明亮模式下将文本颜色自动更改为