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. TCP/IP协议分析

    一;前言 学习过TCP/IP协议的人多有一种感觉,这东西太抽象了,没有什么数据实例,看完不久就忘了.本文将介绍一种直观的学习方法,利用协议分析工具学习TCP/IP,在学习的过程中能直观的看到数据的具体 ...

  2. [转]解决 Eclipse项目红感叹号

    原文地址:http://www.cnblogs.com/hakuci/archive/2012/01/06/2314143.html 原因:显示红色感叹号是因为jar包的路径不对 解决:在项目上右击B ...

  3. sqlserver 多排序的问题

    sql 执行默认执行排序的第一个字段,如果结果集中含有重复的列的字段,才会按照2...N个字段进行排序,没有重复列多排序无效果

  4. 基于jQuery点击圆形边框弹出图片信息

    分享一款基于jQuery点击圆形边框弹出图片信息.这是一款鼠标经过图片转换成圆形边框,点击可弹出文字信息.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id=&q ...

  5. 风雪之隅(Laruence PHP开发组成员, Zend兼职顾问, Yaf, Yar, Yac, Opcache等项目作者、维护者.)

    http://www.laruence.com/?from=inf&wvr=5&loc=infblog

  6. linux 使用NSF 映射远程磁盘目录

    假设源目录在192.168.1.1机器上,目录为/data 客户端集群在192.168.1.2, 需要将192.168.1.1机器上的/data目录到本地的/data目录 1.在两台机器上安装nsf ...

  7. PHP不能不看的50个细节!

    1. 用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP ...

  8. 探索Java语言与JVM中的Lambda表达式

    Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法.( ...

  9. Windoows窗口程序四

    子窗口的创建 .创建时要设置父窗口句柄 .创建风格要增加WS_CHILD|WS_VISIBLE HWND CreateChild(LPSTR lpClassName,LPSTR lpWndName,H ...

  10. Hadoop书签

    1)http://www.cnblogs.com/forfuture1978/archive/2010/03/14/1685351.html 2)http://www.cnblogs.com/sund ...