1,文本框的创建,有如下几个样式:

public enum UITextBorderStyle : Int {

    case none  无边框

    case line  直线边框

    case bezel 圆角矩形边框

    case roundedRect 边线+阴影
}

let textField = UITextField(frame:CGRect(x:50,y:240,width:self.view.bounds.size.width - 100,height:50))
//设置边框样式为圆角矩形
textField.borderStyle = .roundedRect
self.view.addSubview(textField)

2,文本框提示文字

textField.placeholder="请输入用户名"

3,文字大小超过文本框长度时自动缩小字号,而不是隐藏显示省略号

textField.adjustsFontSizeToFitWidth=true  //当文字超出文本框宽度时,自动调整文字大小
textField.minimumFontSize= //最小可缩小的字号

4,水平/垂直对齐方式

/** 水平对齐 **/
textField.textAlignment = .right //水平右对齐
textField.textAlignment = .center //水平居中对齐
textField.textAlignment = .left //水平左对齐
textField.textAlignment = .justified 

textField.textAlignment = .natural 
/** 垂直对齐 **/
textField.contentVerticalAlignment = .top //垂直向上对齐
textField.contentVerticalAlignment = .center //垂直居中对齐
textField.contentVerticalAlignment = .bottom //垂直向下对齐
textField.contentVerticalAlignment = .fill  //填充满
/*水平对其的属性和垂直对齐是一样的*/

5,背景图片设置

textField.borderStyle = .none //先要去除边框样式
textField.background=UIImage(named:"background1");

6,清除按钮(输入框内右侧小叉

textField.clearButtonMode=.whileEditing  //编辑时出现清除按钮
textField.clearButtonMode=.unlessEditing //编辑时不出现,编辑后才出现清除按钮
textField.clearButtonMode=.always //一直显示清除按钮

7,设置文本框关联的键盘类型

default:系统默认的虚拟键盘
aSCII Capable:显示英文字母的虚拟键盘
numbers and Punctuation:显示数字和标点的虚拟键盘
URL:显示便于输入数字的虚拟键盘
number Pad:显示便于输入数字的虚拟键盘
phone Pad:显示便于拨号呼叫的虚拟键盘
name Phone Pad:显示便于聊天拨号的虚拟键盘
email Address:显示便于输入Email的虚拟键盘
decimal Pad:显示用于输入数字和小数点的虚拟键盘
twitter:显示方便些Twitter的虚拟键盘
web Search:显示便于在网页上书写的虚拟键盘
asciiCapableNumberPad //显示便于输入数字的虚拟键盘 只支持iOS10
textField.keyboardType = .numberPad

8,使文本框在界面打开时就获取焦点,并弹出输入键盘

textField.becomeFirstResponder()

9,使文本框失去焦点,并收回键盘

textField.resignfirstresponder()

10,设置键盘return键的样式

textField.returnKeyType = .done //表示完成输入
textField.returnKeyType = .go //表示完成输入,同时会跳到另一页
textField.returnKeyType = .search //表示搜索
textField.returnKeyType = .join //表示注册用户或添加数据
textField.returnKeyType = .next //表示继续下一步
textField.returnKeyType = .send //表示发送
textField.returnKeyType = .yahoo //雅虎
textField.returnKeyType = .done //显示完成
textField.returnKeyType = .emergencyCall //显示紧急呼叫

11,键盘return键的响应

//设置代理
class FirstyViewController: UIViewController,UITextFieldDelegate

实现代理方法

func textFieldShouldReturn(textField:UITextField) -> Bool
{
//收起键盘
textField.resignFirstResponder()
//打印出文本框中的值
print(textField.text)
return true;
}

12,点击空白处回收键盘

  override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
textField.resignFirstResponder()
}

swift - UITextField 的用法的更多相关文章

  1. Swift—UITextField的基本用法

    https://www.jianshu.com/p/63bdeca39ddf 1.文本输入框的创建##### let textField = UITextField(frame: CGRect(x:1 ...

  2. swift - UIAlertController 的用法

    ios 8 以后苹果官方建议使用UIAlertController这个类,所以专门去网上找资料,了解了下用法, 1.创建一个alertController let alertController = ...

  3. Swift - enumerateObjectsUsingBlock的用法

    enumerateobjectsusingblock:不是Array的方法在NSArray使用.如果你想使用它,你需要一个实例NSArray而不是Array. import Foundation va ...

  4. swift函数的用法,及其嵌套实例

    import Foundation //swift函数的使用 func sayHello(name userName:String ,age:Int)->String{ return " ...

  5. Swift继承的用法

    一个类可以继承另一个类的方法,属性和其它特性.当一个类继承其它类,继承类叫子类,被继承类叫超类(或父类).在Swift中,继承是区分「类」与其它类型的一个基本特征. 在Swift中,类可以调用和访问超 ...

  6. swift UITextfield 添加点击方法 - 简单实现

    1. 真正在任何系统上都有效的方法 1./// 城市选择 private lazy var cityTextfield:UITextField = { let tf = UITextField() t ...

  7. swift - UIAlertView 的用法

    1,创建一个alertview,并带有“确定”和“取消”两个按钮 (注:在这里使用alertview,会报警告,那是因为从ios 8 以后,建议使用UIAlertviewController) //警 ...

  8. swift - UISlider 的用法

    swift的UISlider的用法和oc基本没有区别 1.创建 class SecondViewController: UIViewController { var slider = UISlider ...

  9. swift - UISegmentedControl 的用法

    一.创建控件,并监听控件选择值 /*选项除了文字还可以是图片 as关键字的作用就是字面意思:类型转换*/ let items = ["选项一", "选项二", ...

随机推荐

  1. macOS Sierra 10.12.4 (16E195) - Clover [ 20170403 ]

    原文:https://user.qzone.qq.com/753313822/blog/1424460141?_t_=0.48652242555134495 建议使用 1920 * 1080 屏幕分辨 ...

  2. js求n行m列二维数组对角线元素之和的思路

    window.onload=function(){   var arr =  [[1,2,4],[5,6,7],[8,9,10]];   var i =3,j=3;   var result1=0,r ...

  3. eclipse egit 解决冲突

    eclipse egit冲突解决 在 pull 代码的时候 ,从远程仓库与本地仓库进行同步的时候  ,如果服务器版本与本地仓库版本不一致, 需要解决冲突 首先需要将改动的代码commit到本地仓库,冲 ...

  4. c++派生类的访问控制权限

    派生类必须通过使用类派生列表, 明确指出它是从哪个(哪些)基类继承而来的.类派生列表的形式是:首先是一个冒号,后面紧跟以逗号分隔的基类列表(可以多继承,但一般不使用多继承),其中每个基类前面可以有以下 ...

  5. Oracle PL/SQL 编程基础 实例

    create table mytest(name varchar(20),password varchar(30)); create or replace procedure sp_pro2 is  ...

  6. buildroot 制作的文件系统烧入到nand中打开设备没有权限

    利用buildroot 制作的文件系统,启动系统加载文件系统后出现打开设备Permission denied 解决方法记录. 这应该是制作文件系统的机制问题,暂时没有搞清楚为什么. 解决方式: 给生成 ...

  7. Android——FileOutputStream与openFileOutput()的区别分析【第一个用于文件存储,第二个用于SD卡存储】【转】

    本文实例分析了Android编程中FileOutputStream与openFileOutput()的区别.分享给大家供大家参考,具体如下: openFileOutput() 首先给大家介绍使用文件如 ...

  8. nginx的centos和rhel的yum配置安装

    Official Red Hat/CentOS packages To add NGINX yum repository, create a file named /etc/yum.repos.d/n ...

  9. Android APP 分享图片文字到微信刚開始正常,后面就不弹出分享框了

    依照官方的流程走了一遍.一切顺利,分享成功了.本来以为能够大功告成了,结果睡了一觉,第二天要给客户演示了.才发现TMD坑爹了,不能分享了,第三方的分享栏弹不出来了.我一阵惊慌,还好非常快找到了解决的方 ...

  10. Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;

    项目部署,启动过程中有以下警告: [WARN]: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 41 ...