美文网首页技术笔记
UITextView实现placeHolder属性

UITextView实现placeHolder属性

作者: o本是后山人o偶作前堂客o | 来源:发表于2017-07-24 10:44 被阅读9次

这个可以算 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")

相关文章

网友评论

    本文标题:UITextView实现placeHolder属性

    本文链接:https://www.haomeiwen.com/subject/ibovkxtx.html