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

UITextBorderStyle.none:无边框
UITextBorderStyle.line:直线边框
UITextBorderStyle.roundedRect:圆角矩形边框
UITextBorderStyle.bezel:边线+阴影

圆角矩形边框样例:

1
2
3
4
let textField = UITextField(frame: CGRect(x:10, y:60, width:200, height:30))
//设置边框样式为圆角矩形
textField.borderStyle = UITextBorderStyle.roundedRect
self.view.addSubview(textField)
 

2,文本框提示文字

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

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

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

4,水平/垂直对齐方式

1
2
3
4
5
6
7
8
9
/** 水平对齐 **/
textField.textAlignment = .right //水平右对齐
textField.textAlignment = .center //水平居中对齐
textField.textAlignment = .left //水平左对齐
 
/** 垂直对齐 **/
textField.contentVerticalAlignment = .top  //垂直向上对齐
textField.contentVerticalAlignment = .center  //垂直居中对齐
textField.contentVerticalAlignment = .bottom  //垂直向下对齐
 

5,背景图片设置

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

6,设置光标的颜色

textField.tintColor = UIColor.cyanColor()

7,清除按钮(输入框内右侧小叉)
1
2
3
textField.clearButtonMode = .whileEditing  //编辑时出现清除按钮
textField.clearButtonMode = .unlessEditing  //编辑时不出现,编辑后才出现清除按钮
textField.clearButtonMode = .always  //一直显示清除按钮
 

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


Default:系统默认的虚拟键盘
ASCII Capable:显示英文字母的虚拟键盘
Numbers and Punctuation:显示数字和标点的虚拟键盘
URL:显示便于输入url网址的虚拟键盘
Number Pad:显示便于输入数字的虚拟键盘
Phone Pad:显示便于拨号呼叫的虚拟键盘
Name Phone Pad:显示便于聊天拨号的虚拟键盘
Email Address:显示便于输入Email的虚拟键盘
Decimal Pad:显示用于输入数字和小数点的虚拟键盘
Twitter:显示方便些Twitter的虚拟键盘
Web Search:显示便于在网页上书写的虚拟键盘

数字键盘使用样例:
 
1
textField.keyboardType = UIKeyboardType.numberPad

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

1
textField.becomeFirstResponder()
 

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

1
textField.resignFirstResponder()
 

11,设置键盘return键的样式

1
2
3
4
5
6
textField.returnKeyType = UIReturnKeyType.done //表示完成输入
textField.returnKeyType = UIReturnKeyType.go //表示完成输入,同时会跳到另一页
textField.returnKeyType = UIReturnKeyType.search //表示搜索
textField.returnKeyType = UIReturnKeyType.join //表示注册用户或添加数据
textField.returnKeyType = UIReturnKeyType.next //表示继续下一步
textField.returnKeyType = UIReturnKeyType.send //表示发送
 

12,键盘return键的响应

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import UIKit
 
class ViewControllerUIViewController,UITextFieldDelegate {
     
    override func viewDidLoad() {
        super.viewDidLoad()
         
        let textField = UITextField(frame: CGRect(x:10,y:160,width:200,height:30))
        //设置边框样式为圆角矩形
        textField.borderStyle = UITextBorderStyle.roundedRect
        textField.returnKeyType = UIReturnKeyType.done
        textField.delegate = self
        self.view.addSubview(textField)
    }
     
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        //收起键盘
        textField.resignFirstResponder()
        //打印出文本框中的值
        print(textField.text)
        return true
    }
}
 

PS:苹果官网API - UITextField

Swift - 文本输入框(UITextField)的更多相关文章

  1. Swift - 文本输入框(UITextField)的用法

    1,文本框的创建,有如下几个样式: UITextBorderStyle.None:无边框 UITextBorderStyle.Line:直线边框 UITextBorderStyle.RoundedRe ...

  2. Swift - 文本输入框内容改变时响应,并获取最新内容

    1,问题描述 有时我们开发的时候需要先把“确认”按钮初始设置为不可用,当文本框中输入文字以后,再将输入按钮变为可用. 2,实现原理 (1)要检测文本框内容的变化,我们需要让新界面的Controller ...

  3. 文本输入框UITextField和UITextView

    本文概要 1.简介 2.介绍TextField控件 3.介绍TextView控件 4.键盘的打开和关闭 5.关闭和大开键盘的通知 6.键盘的种类 详情 1.简介 与Label一样,TextField和 ...

  4. [ios][swift]文本框UITextField用法

    参考:http://www.hangge.com/blog/cache/detail_530.html

  5. Text input(文本输入框)

    Text input(文本输入框)是用来获得用户输入的绝佳方式. 你可以用如下方法创建: <input type="text"> 注意,input元素是自关闭的.

  6. Android文本输入框(EditText)切换密码的显示与隐藏

    package cc.c; import android.app.Activity; import android.os.Bundle; import android.text.Selection; ...

  7. JS 文本输入框放大镜效果

    JS 文本输入框放大镜效果 今天下午研究了下 "文本输入框放大镜效果" 当然KISSY官网也有这种组件 请看kissy demo 其实这种效果 对于很多童鞋来说 应该并不陌生!我今 ...

  8. HTML中&lt;input&gt;參数,以及文本输入框,文本域的解说

    <form> <input type="text/password" name="名称" value="文本" /> ...

  9. iOS 删除黑色边框线导航栏&amp;删除搜索框的阴影边界线和中黑色文本输入框 - 解

    删除黑色边框线导航栏 in viewDidload: [self.navigationController.navigationBar setBackgroundImage:[[UIImage all ...

随机推荐

  1. HDU 3911 线段树区间合并、异或取反操作

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3911 线段树区间合并的题目,解释一下代码中声明数组的作用: m1是区间内连续1的最长长度,m0是区间内连续 ...

  2. linux下好用的软件

    搜狗输入法 http://pinyin.sogou.com/linux/ wps http://community.wps.cn/download/ 浏览器 chrome or FireFox or ...

  3. JAVA Io 缓冲输入输出流

    java中提供带缓冲的输入输出流.在打开文件进行写入或读取操作时,都会加上缓冲,提高了IO读写性能. 1. BufferedInputStream 缓冲输入流 2. BufferedOutputStr ...

  4. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  5. 关于js css html加载顺序整理

    1.js放在head中会立即执行,阻塞后续的资源下载与执行.因为js有可能会修改dom,如果不阻塞后续的资源下载,dom的操作顺序不可控. 正常的网页加载流程是这样的. 浏览器一边下载HTML网页,一 ...

  6. 忧桑三角形,调了半天,真忧桑TAT

    忧桑三角形 试题描述 小J是一名文化课选手,他十分喜欢做题,尤其是裸题.有一棵树,树上每个点都有点权,现在有以下两个操作: 1. 修改某个点的点权 2. 查询点u和点v构成的简单路径上是否能选出三个点 ...

  7. Unity 手指上下左右滑动的判定

    using UnityEngine; using System.Collections; public class jarodInputController : MonoBehaviour { pri ...

  8. (转)一个JavaWeb项目开发总结

    原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...

  9. Android碎片(Fragment)简述

    碎片(Fragment)是一种可以嵌入活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因此碎片在平板上的应用非常广泛. 你可以将碎片理解成一个迷你型的活动,水平同样可能包含布局,同样都 ...

  10. django的cookie 和session

    Cookie 1.获取cookie: request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt=' ...