textview实现placeholder效果

思路

两个textView上下重叠,下面的textView(backgroundText)的文字设置为placeholder的文字,上面的textView(inputText)的背景设置为透明,设置上面的textView的代理,输入内容时隐藏下面textView

具体代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
override func viewWillAppear(animated: Bool) {
if(inputText.delegate == nil){
inputText.delegate = self;
}
}

override func viewWillDisappear(animated: Bool) {
if(inputText.delegate != nil){
inputText.delegate = nil;
}
}

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
if(text != ""){
self.backgroundText.hidden = true;
}else{
if(textView.text.characters.count <= 1){
self.backgroundText.hidden = false;
}
}
return true;
}