Swift - UITextField

import UIKit

class ViewController: UIViewController,UITextFieldDelegate {
    var textField:UITextField!//声明一个UItextField类型变量
    override func viewDidLoad() {
        super.viewDidLoad()
        //创建UITextField
        textField = UITextField(frame: CGRect(x: 10, y: 10, width: 260, height: 30))
        //TextField类型
        /*
         无边框:none
         直线边框:line
         圆角矩形边框:roundedRect
         边框+阴影:bezel
         */
        textField.borderStyle = .roundedRect
       //将TextField加入到视图中
        self.view.addSubview(textField)
        //修改TextField边框
        textField.layer.masksToBounds = true
        textField.layer.cornerRadius = 12.0//设置圆角半径
        textField.layer.borderWidth = 2.0 //设置边框宽度
        textField.layer.borderColor = UIColor.red.cgColor//设置边框颜色
        //设置TTextField提示文字
        textField.placeholder = "输入内容"
        //设置TextField文本字体超出后字体自动调整大小
        textField.adjustsFontSizeToFitWidth = true //开启自动调整
        textField.minimumFontSize = 14 // 设置调整字体大小的最小值
        //文字对其方式
        textField.textAlignment = .right//水平向右对齐
        /*
        .center  居中对齐
        .left    向左对齐
         */
        textField.contentVerticalAlignment = .top//垂直向上对齐
        /*
         .botton  垂直向下对齐
         .center  垂直居中对齐
        */
        //背景图片设置
        textField.borderStyle = .none //先去除边框样式
        textField.background = UIImage(named: "backgroundImage")
        //TextField清除按钮
        textField.clearButtonMode = .whileEditing//当编译时出现清除按钮
        /*
         .unlessEditing  //编译完成后出现清除按钮
         .always         //清除按钮一直显示
        */
        //TextField密码输入框
        textField.isSecureTextEntry = true
        //TextFieldz输入的键盘样式
        textField.keyboardType = .numberPad//显示便于输入数字的虚拟键盘
        /*
         default :系统默认的虚拟键盘
         ASCII Capable:显示英文字母的虚拟键盘
         Numbers and Punctuation:显示数字和标点的虚拟键盘
         URL:显示便于输入url地址的虚拟键盘
         Phone Pad:显示便于拨号呼叫的虚拟键盘
         Name Phone pad:显示便于聊天拨号的虚拟键盘
         Emall Addressx:显示便于输入Emall的虚拟键盘
         Decimal Pad:显示用于输入数字和小数点的虚拟键盘
         Twitter:显示f方便些Twitter的虚拟键盘
         Web Search:显示f便于在网页上书写的虚拟键盘
        */
        //使TextField在界面打开时就获取焦点,并弹出输入框
        textField.becomeFirstResponder()
        //使TextField失去焦点,并收回键盘
        textField.resignFirstResponder()
        //设置键盘return键的样式(仅改变return名称)
        textField.returnKeyType = .done
        /*
         done,go,search,join,next,send
        */
        textField.delegate = self//将代理设置本控制器,并在class加入UITextFieldDelegate
        //添加通知观察者
        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)//对UIKeyboardWillShow进行观察,监听,当UIKeyboardWillShow发生变化时,调用可yboardWillShow方法
        NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)//对UIKeyboardWillHide进行观察,监听,当UIKeyboardWillShow发生变化时,调用可yboardWillHide方法
    }
    //响应return键
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        print("你点击了return")
        return true
    }
    //响应TextField键盘通知
    @objc func keyboardWillShow(_ notification:Notification?)
    {
        textField.frame = CGRect(x: 30, y: 250, width: 260, height: 30)
    }//当需要输入时,将TextField移动位置,避免键盘遮挡TextField
    @objc func keyboardWillHide(_ notification:Notification?)
    {
        textField.frame = CGRect(x: 30, y: 400, width: 260, height: 30)
    }//键盘收回时,再一次将TextField移动到合适的位置。

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值