给UITextView添加PlaceHolder

先上图:

给UITextView添加PlaceHolder_第1张图片


上面UITextField的PlaceHolder是自带的,下面的是我的UITextView,实现很简单,textView背景clearColor,后面放个label(希望你知道怎么在Storyboard里面设置哪个View在前面),然后根据textView的delegate调整label是否显示出来。

我主要说几个参数,没按顺序,看完再做

        newMenuDescribe.layer.cornerRadius = 5
        newMenuDescribe.layer.borderWidth  = 0.5
        newMenuDescribe.layer.borderColor = UIColor(red: 205/255, green: 205/255, blue: 205/255, alpha: 1).CGColor
        newMenuDescribe.delegate = self
        
        backLabel.textColor = UIColor(red: 205/255, green: 205/255, blue: 205/255, alpha: 1)

 
 
 textView圆角半径为5,描边宽度为0.5,textView描边和label颜色都是205/255,delegate设置为self 
 

用storyboard的话,先设置label和textView同Top,同Leading,长度自定,然后再改约束,设置成textView的Top下8个单位,Leading后5个单位,UI就是这样

代理方法代码如下:

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        
        if text != "" {
            backLabel.hidden = true
        }
        if text == "" && (textView.text as NSString).length == 1 {
            backLabel.hidden = false
        }
        if text == "\n" {
            textView.resignFirstResponder()
            return false;
        }
        return true;
    }
 
 
 
 
收工


你可能感兴趣的:(textview)