• Swift3 重写一个带占位符的textView


    class PlaceStrTextView: UIView,UITextViewDelegate{
        
        var palceStr = "即将输入的信息" //站位文字
        var inputStr = "" //输入的信息
        
        //创建一个textView
        lazy var textView:UITextView = {
            let tv = UITextView()
            tv.delegate = self
            tv.text = self.palceStr
            tv.textColor = UIColor.gray
            tv.backgroundColor = UIColor.clear
            tv.font = UIFont.systemFont(ofSize: 15)
            return tv
        }()
        
        //私有方法
        func overrideSelf(frame: CGRect) {
            self.frame = frame
            addTextView()
        }
        
        //添加textView
        func addTextView(){
            self.textView.frame = CGRect(x: 0, y: 0,  self.frame.width, height: self.frame.height)
            self.addSubview(self.textView)
        }
        
        func textViewDidBeginEditing(_ textView: UITextView) {
            if textView.text == palceStr { //一旦开始编辑就将textView滞空并将颜色改为黑色
                textView.text = ""
            }
            textView.textColor = UIColor.black
        }
        
        func textViewDidEndEditing(_ textView: UITextView) {
            if textView.text == "" {//如果用户没有输入任何信息就显示站位字符串
                textView.text = palceStr
                textView.textColor = UIColor.gray
            }else{//一旦输入了信息你则颜色变成黑色
                textView.textColor = UIColor.black
            }
        }
        
        func hiddenKeyBoard(){
            (UIApplication.shared.delegate as! AppDelegate).window?.endEditing(true)
            inputStr = textView.text
        }
        
    }

     

         //调用示例
    @IBOutlet weak var textView: PlaceStrTextView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. textView.palceStr = "埃及的妇女节阿萨德来看风景安东尼设计开发" textView.overrideSelf(frame: textView.frame) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func tapAction(_ sender: Any) { textView.hiddenKeyBoard() print(textView.inputStr) }

      

     

  • 相关阅读:
    跟layout_weight说88,轻松搞定百分比布局
    跟闪退、程序崩溃说88
    程序的需求层次
    开博
    第十章 数组与集合 发牌程序 实例代码
    C#面向对象基础01
    winform form
    html
    C#语言基础02
    C#语言基础01
  • 原文地址:https://www.cnblogs.com/mapanguan/p/6394826.html
Copyright © 2020-2023  润新知