多个UITextView占位符

时间:2016-03-08 04:21:36

标签: ios swift uitextview placeholder

我试图将占位符放入我的UITextViews中,并使用这段代码找到了解决方案:

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {

    let currentText:NSString = storyView.text 
    let updatedText = currentText.stringByReplacingCharactersInRange(range, withString:text)

    if updatedText.isEmpty {
        storyView.text = "Write out your story here!"
        storyView.textColor = UIColor.lightGrayColor()
        storyView.selectedTextRange = storyView.textRangeFromPosition(storyView.beginningOfDocument, toPosition: storyView.beginningOfDocument)
        return false

    }else if storyView.textColor == UIColor.lightGrayColor() && !text.isEmpty {
        storyView.text = nil
        storyView.textColor = UIColor.blackColor()
    }

    return true
}

func textViewDidChangeSelection(storyView: UITextView) {
    if self.view.window != nil {
        if storyView.textColor == UIColor.lightGrayColor() {
            storyView.selectedTextRange = storyView.textRangeFromPosition(storyView.beginningOfDocument, toPosition: storyView.beginningOfDocument)
        }
    }
}

它很有用,我很满意它,但是我想将它应用到同一个ViewController中的其他UITextViews。如果不创建textView方法的重复实例,我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以在textField.tag方法中使用shouldChangeTextInRange

为同一textField的{​​{1}}添加标记。并将该标记用于viewcontroller方法。

shouldChangeTextInRange

可能会帮助你。