Swift - UITextField

Posted ios-development

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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移动到合适的位置。

}

以上是关于Swift - UITextField的主要内容,如果未能解决你的问题,请参考以下文章

如何让 UITextField 只允许使用 Swift 3 的整数?

无法从 UITextField 获取文本 - Swift - iOS

UITextField没有获取属性swift 4

在 Swift 中显示 UITextField 的底部边框不适用于约束。

Ios Swift Override 双击 UItextField

Swift 4 - UITextfield 边框半径颜色问题