Placeholder in UITextView

前端 未结 30 3185
野趣味
野趣味 2020-11-22 16:01

My application uses an UITextView. Now I want the UITextView to have a placeholder similar to the one you can set for an UITextField.<

30条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-11-22 16:21

    If someone needs a Solution for Swift:

    Add UITextViewDelegate to your class

    var placeHolderText = "Placeholder Text..."
    
    override func viewDidLoad() {
        super.viewDidLoad()
        textView.delegate = self
    }
    
    func textViewShouldBeginEditing(textView: UITextView) -> Bool {
    
        self.textView.textColor = .black
    
        if(self.textView.text == placeHolderText) {
            self.textView.text = ""
        }
    
        return true
    }
    
    func textViewDidEndEditing(textView: UITextView) {
        if(textView.text == "") {
            self.textView.text = placeHolderText
            self.textView.textColor = .lightGray
        }
    }
    
    override func viewWillAppear(animated: Bool) {
    
        if(currentQuestion.answerDisplayValue == "") {
            self.textView.text = placeHolderText
            self.textView.textColor = .lightGray
        } else {
            self.textView.text = "xxx" // load default text / or stored 
            self.textView.textColor = .black
        }
    }
    

提交回复
热议问题