12

I am trying to update my iOS app for dark mode, but am having trouble with setting the dark mode colors in code. Upon editing a UITextView, the color I want the text color to be white in dark mode, and black in light mode (which is default label color), but to my knowledge I do not know how to write this in code, how do I do it?

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 Answers 4

30

Or use UIColor.label to get system label color.

Sign up to request clarification or add additional context in comments.

Comments

12

you have call this line of code , it works fine both dark mode and light mode. goodluck

label.textColor = .none

1 Comment

This works great for UILabels as the documentation says : The default value for this property is the system’s label color, which adapts dynamically to Dark Mode changes. However it does NOT work for me for a UITextView, documentation : The default text color is black.
3
   textView.textColor =  UIColor { tc in
            switch tc.userInterfaceStyle {
            case .dark:
                return UIColor.white
            default:
                return UIColor.black
            }
        }

This is the easiest way, the UIColor can be passed a closure with traitCollection (TC) and the traitCollection has a property called userInterfaceStyle which tells if the user is using the dark mode, then you just implement switch statement to choose what color you wanna return

Comments

0

you just need to assign UIColor.systemBackground to your UITextView Text Color

textView.textColor =  UIColor.systemBackground 

it will automatically change text color white in dark mode and text color black in light mode

1 Comment

You have it opposite. This would make the text white in light mode, and dark in dark mode....

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.