UITextView實現placeHolder屬性

這個可以算 http://www.lxweimin.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")

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容