Swift 中给UITextView添加占位文字

  • 先创建一个UILabel

// MARK: - 懒加载
    private lazy var placeholderLabel: UILabel =
        {
            let lb = UILabel()
            lb.textColor = UIColor.lightGray
            lb.text = "占位文字"
            lb.font = self.font
            return lb
    }()
  • 将创建的label加入到UITextView中 布局label的位置

    addSubview(placeholderLabel)
        placeholderLabel.snp.makeConstraints { (make) in
            make.top.equalTo(5)
            make.left.equalTo(5)
        }
  • 使用通知监听UITextView是否有输入数据,有数据隐藏label

      NotificationCenter.default.addObserver(self, selector:   #selector(textChange), name:   NSNotification.Name.UITextViewTextDidChange, object: self)

  func textChange(){
      //hasText 可以监听UITextView是否有值输入返回Bool类型
        placeholderLabel.isHidden = hasText
    }
  • 移除通知

       deinit {
        NotificationCenter.default.removeObserver(self)
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 但凡坐过早高峰公交车的人,一定都知道。每天像沙丁鱼一样被挤在一块,那个时候性别社交距离都不见了,其实在公交车上的那...
    7格格阅读 316评论 3 1
  • 近日闲来又重温经典《红楼梦》,已记不起这是第几次看《红楼梦》。从第一次读的时候人物关系分不清,到现在对里面的人物略...
    洛清欢阅读 2,736评论 33 56
  • 在读完《一个广告人的自白》后,微信读书智能推荐了一本书,叫做《定位》,依然和品牌营销相关。(如果《一个广告人的自白...
    徐向明在简书阅读 1,279评论 1 5
  • 生活中你遇到过别人说你不行的情况吗?当时你心里的感受是怎样的呢?你是如何面对的呢?请看苏秦的故事。 苏秦游说列国又...
    企鹅运营阅读 820评论 0 50