美文网首页
UILabel(标签)与 UITextField(文本框)

UILabel(标签)与 UITextField(文本框)

作者: Grt婷 | 来源:发表于2016-11-28 08:03 被阅读0次

    1.UILabel(标签)

    • label 的初始化及其属性

            //创建label
            let label = UILabel()
            label.frame = CGRect(x:100,y:120,width:100,height:100)
            self.view.addSubview(label)
            //给label设置文字
            label.text="张三你好"
            //设置文字颜色
            label.textColor=#colorLiteral(red: 0.8078431487, green: 0.02745098062, blue: 0.3333333433, alpha: 1);
            //设置文字字体及大小
            label.font = UIFont.systemFont(ofSize: 18)
            //设置文字对齐方式
            label.textAlignment = .center
            //label的背景颜色
            label.backgroundColor = #colorLiteral(red: 0.2588235438, green: 0.7568627596, blue: 0.9686274529, alpha: 1)
            //文字的换行模式如果是0的话,不限制
            label.numberOfLines = 1
            //如果label大小不足以放下文字,省略模式
            label.lineBreakMode = .byTruncatingTail
      
      

    2.UITextField(文本框)

    • label 的初始化及其属性

             //创建textField
            let textField = UITextField()
            //设置textField的大小及位置
            textField.frame=CGRect(x: 100, y: 250, width: 200, height: 40)
            //添加到主视图上
            self.view.addSubview(textField)
            //3、设置密文
            textField.isSecureTextEntry = true;
            //设置placeholder,提示
            textField.placeholder = "请输入密码"
            //边框样式
            textField.borderStyle = .none
            //文字的清除样式n
            textField.clearsOnBeginEditing = true
            //设置背景(边框样式图片) 及图片拉伸
            let inset = UIEdgeInsets(top: 19, left: 30, bottom: 19, right: 18)
            textField.background = UIImage(named:"2.jpg")?.resizableImage(withCapInsets: inset, resizingMode: UIImageResizingMode.stretch)
            //当我们编辑的时候出来编辑按钮
            textField.clearButtonMode = .whileEditing
            //左边视图样式
            textField.leftView = UIImageView(image:UIImage(named:"yaoshi.jpg"))
            //什么时候显示左边视图
            textField.leftViewMode = .always
            //代理方法
            textField.delegate = self;
            self.userTextfield = textField
      
    • textfield的代理方法

      //textFieldDelegate方法
        //是否可以开始编辑
        func textFieldShouldBeginEditing(_ textField:UITextField) -> Bool {
            return true //false不可编辑
        }
        //开始编辑
        func textFieldDidBeginEditing(_ textField: UITextField) {
            print("开始编辑")
        }
        // 结束编辑
        func textFieldDidEndEditing(_ textField: UITextField) {
            print("结束编辑")
        }
        //是不是可以结束编辑
        func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
            return true
        }
        //return 键
        func textFieldShouldReturn(_ textField: UITextField) -> Bool {
            textField .resignFirstResponder()
            return true
        }
        // 是否可以被清除
        func textFieldShouldClear(_ textField: UITextField) -> Bool {
            return true
        }
        override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
            //取消第一响应者
         self.userTextfield?.resignFirstResponder()
            
            // 当光标在textfield之上的时候FirstResponder
            // 如果我们想让textfield处于编辑状态,becomeFirstResponder()
            // 当我们想键盘回收的时候
            // resignFirstResponder()
        }
      

    3.运行结果

    相关文章

      网友评论

          本文标题:UILabel(标签)与 UITextField(文本框)

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