这个可以算 http://www.jianshu.com/p/70b4a7f8a586 的姊妹篇.
UITextView没有placeHolder属性,想给他这个功能.于是查找了下.
当当当!!!!
通过一番查找,发现可以使用的最简单方法 还是利用KVC方式,给UITextView添加 placeHolderLabel .
通过runtime方式,可以发现,UITextView内部有一个名为“_placeHolderLabel”的私有成员变量。大家知道,Objective-C没有绝对的私有变量,因为我们可以通过KVC来访问私有变量。
// 利用runtime给UITextView添加一个placeHolderLabel
let textview = UITextView()
let placeHolderLabel = UILabel()
placeHolderLabel.text = "我是textview的placeHolder"
placeHolderLabel.numberOfLines = 0;
placeHolderLabel.textColor = UIColor.lightGray
placeHolderLabel.sizeToFit()
textview.addSubview(placeHolderLabel)
placeHolderLabel.font = UIFont.boldSystemFont(ofSize: 13)
textview.setValue(placeHolderLabel, forKey: "_placeholderLabel")
网友评论