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
在 Swift 中显示 UITextField 的底部边框不适用于约束。