本帖最后由 3rdev 于 2016-7-8 16:55 编辑

看到有人在Swifthumb求助UITextField,我发个文本框控件的用法总结,Swift实现的。文本框,虽然简单,但玩转也不容易!

Swift语言环境下文本框控件UITextField的用法大全总结

Swift语言环境下文本框控件UITextField的用法大全总结 - 敏捷大拇指 - Swift语言环境下文本框控件UITextField的用法大全总结





1、文本框的创建,如下几种方式:

  • UITextBorderStyle.None:无边框
  • UITextBorderStyle.Line:直线边框
  • UITextBorderStyle.RoundedRect:圆角矩形边框
  • UITextBorderStyle.Bezel:边线+阴影



1.1、文本创建例子

如下:
[Swift] 纯文本查看 复制代码
     let textField = UITextField(frame:      CGRectMake(10,160,200,30))
   //设置边框样式为圆角矩形
   textField.borderStyle = UITextBorderStyle.RoundedRect
   self.view.addSubview(textField)





2、文本框提示文字

[Swift] 纯文本查看 复制代码
     textField.placeholder="请输入用户名"





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

[Swift] 纯文本查看 复制代码
    textField.adjustsFontSizeToFitWidth=true  //当文字超出文本框宽度时,自动调整文字大小
    textField.minimumFontSize=14  //最小可缩小的字号





4、水平/垂直对齐方式

[Swift] 纯文本查看 复制代码
    /** 水平对齐 **/
    textField.textAlignment = .Right //水平右对齐
    textField.textAlignment = .Center //水平居中对齐
    textField.textAlignment = .Left //水平左对齐

    /** 垂直对齐 **/
    textField.contentVerticalAlignment = .Top  //垂直向上对齐
    textField.contentVerticalAlignment = .Center  //垂直居中对齐
    textField.contentVerticalAlignment = .Bottom  //垂直向下对齐





5、背景图片设置

[Swift] 纯文本查看 复制代码
    textField.borderStyle = .None //先要去除边框样式
    textField.background=UIImage(named:"background1");





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

[Swift] 纯文本查看 复制代码
    textField.clearButtonMode=UITextFieldViewMode.WhileEditing  //编辑时出现清除按钮
    textField.clearButtonMode=UITextFieldViewMode.UnlessEditing  //编辑时不出现,编辑后才出现





7、清除按钮

[Swift] 纯文本查看 复制代码
    textField.clearButtonMode=UITextFieldViewMode.Always  //一直显示清除按钮





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

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


[Swift] 纯文本查看 复制代码
  textField.keyboardType = UIKeyboardType.NumberPad





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

[Swift] 纯文本查看 复制代码
    textField.becomeFirstResponder()





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

[Swift] 纯文本查看 复制代码
    textField.resignfirstresponder()





11、设置键盘return键的样式

[Swift] 纯文本查看 复制代码
    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键的响应

[Swift] 纯文本查看 复制代码
class ViewController: UIViewController,UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        let textField = UITextField(frame: CGRectMake(10,160,200,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;
    }
}




希望大家补充,如果有别的控件的Swift代码,也欢迎发帖让我学习一下哈,不要吝啬嘛~




作者:huanghaiyan