iOS. swift UITestFiled

2021-10-10  本文已影响0人  我会回来的

Swift UITextField详解

创建实例,设置尺寸

let textField=UITextField(frame:CGRect(x:95,y:480,width:200,height:40))view.addSubview(textField)

设置边框风格

none 无边框

line 直角矩形边界线

bezel 有阴影的边框

roundedRect 圆角矩形边框

textField.borderStyle = .line

设置文字颜色

textField.textColor=UIColor.green

设置对齐方式

textField.textAlignment = .center

设置提示文字

textField.placeholder="请输入姓名"

设置左右视图

let leftView=UILabel()leftView.frame=CGRect(x:0,y:0,width:30,height:30)leftView.text="持卡人"leftView.textColor=UIColor.black        leftView.font=UIFont.systemFont(ofSize:18)let rightButton=UIButton(type:.infoDark)rightButton.frame=CGRect(x:0,y:0,width:30,height:30)textField.leftView=leftView        textField.rightView=rightButton                textField.rightViewMode=.always        textField.leftViewMode=.always

设置右侧清除按钮

textField.clearButtonMode = .always

clearButtonMode的作用是控制右侧清除按钮什么时候显示,由枚举UITextFieldViewMode控制:

never 从不显示

whileEditing 开始编辑的时候

unlessEditing 除了编辑外都出现

always 一直出现

设置代理

首先添加协议头

classUIPage:UIViewController,UITextFieldDelegate{}

然后设置代理

实现相关代理方法

functextFieldShouldBeginEditing(_textField:UITextField)->Bool{print("将要开始编辑")returntrue}functextFieldDidBeginEditing(_textField:UITextField){print("已经开始编辑")}functextFieldShouldEndEditing(_textField:UITextField)->Bool{print("将要结束编辑")returntrue}functextFieldDidEndEditing(_textField:UITextField){print("已经结束编辑")}functextField(_textField:UITextField,shouldChangeCharactersIn range:NSRange,replacementString string:String)->Bool{print("文本输入内容将要发生变化(每次输入都会调用)")returntrue}functextFieldShouldClear(_textField:UITextField)->Bool{print("将要清除输入内容,返回值是是否要清除掉内容")returntrue}functextFieldShouldReturn(_textField:UITextField)->Bool{print("将要按下Return按钮,返回值是是否结束输入(是否失去焦点)")returntrue}

设置完成按钮样式

textField.returnKeyType=UIReturnKeyType.done

设置键盘输入样式

default 默认键盘:支持所有字符

asciiCapable 支持ASCII的默认键盘

numbersAndPunctuation 标准电话键盘,支持+*#等符号

URL URL键盘,有.com按钮;只支持URL字符

numberPad 数字键盘

phonePad 电话键盘

namePhonePad 电话键盘,也支持输入人名字

emailAddress 用于输入电子邮件地址的键盘

asciiCapableNumberPad 支持ASCII的数字键盘

decimalPad 带‘.’的数字键盘

twitter 功能齐全键盘,类似asciiCapable

webSearch 带有面向url的附加的默认键盘类型

textField.keyboardType=UIKeyboardType.numberPad

设置键盘外观主题

default 白色,这个字段是为了兼容以前的版本

dark 黑色

light 白色

alert 黑色,这个字段是为了兼容以前的版本

textField.keyboardAppearance=UIKeyboardAppearance.light

设置安全文本(输入密码时使用)

textField.isSecureTextEntry = true

转载自: https://www.jianshu.com/p/c79c48b375c1 

上一篇下一篇

猜你喜欢

热点阅读