美文网首页技术笔记
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