《 Swift ---->>UITextField 控件的学习和方法的详细解释《包含代理》》

前端之家收集整理的这篇文章主要介绍了《 Swift ---->>UITextField 控件的学习和方法的详细解释《包含代理》》前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/* Swift ---->>UITextField 控件的学习和方法的详细解释《包含代理》》

*

* UITextField 是项目开发中一个必要的控件,它主要用于和用户交互(例如,登陆界

* 面的 账号和密码的输入、注册界面,一些信息的填写),它也可为是,,项目的开

* 始。

*/


// Created by 周双建 on 15/12/3.

// Copyright © 2015 周双建. All rights reserved.



import UIKit

// 如果要使用其代理 必须准守 其代理协议 UITextFieldDelegate

class ViewController: UIViewController,UITextFieldDelegate {

override func viewDidLoad() {

super.viewDidLoad()

/*********************************************************/

//创建一个UItextField 的对象

let MyTextField = UITextField(frame:CGRectMake(10,20,self.view.frame.size.width-20,40))

self.view.addSubview(MyTextField)

/*

* 效果显示为: 是一个白色的输入框,没有框线,再输入的时候光标是蓝色的

*/

// 进行MyTextField 模型设置

/*

enum UITextBorderStylezs : Int {

case None 无线框

case Line 黑色的细线为框

case Bezel 灰色内投影的矩形框

case RoundedRect 圆角

}

*/

//圆角输入框 光标为蓝色

MyTextField.borderStyle = UITextBorderStyle.RoundedRect

//设置UITextField 的背景色 输入字体为黑色

MyTextField.backgroundColor = UIColor.redColor()

/*********************************************************/

//首先清除背景色

MyTextField.backgroundColor = UIColor.clearColor()

// 没有效果

MyTextField.background = UIImage(named: "fadcf1d10901b800bd13b745d48e5755.jpg")

// UItextfield 的清除按钮 “X”

/*

public enum UITextFieldviewmode : Int {

case Never 从来都不显示

case WhileEditing 在其处于编辑状态下显示,其他都不显示

case UnlessEditing 有输入内容后,并失去焦点,才显示;进入编辑就不显示

case Always 再输入内容后才始终显示 特记:无内容不显示

*/

//始终显示 再输入内容后才始终显示 特记:无内容不显示

MyTextField.clearButtonMode = UITextFieldviewmode.UnlessEditing

//UITextField 的暗文输入

MyTextField.secureTextEntry = true

/*

* 效果为黑色圆点

//UItextfield 键盘样式

/*

public enum UIKeyboardType : Int {

case Default

是手机默认键盘,右边是 return 左边是 123

case ASCIICapable

case NumbersAndPunctuation

这是一个数字符号键盘 左边是 ABC 右是 return

case URL

这是个网络键盘

case NumberPad

这是一个9 宫格 数字键盘

case PhonePad

这是 9 宫格 数字键盘 带其他符号

case NamePhonePad

英文 36 左下数字键

case EmailAddress

邮件键盘

@available(iOS 4.1,*)

case DecimalPad

这是 9 宫格数字键盘,,左下是个 黑色圆点

@available(iOS 5.0,0)"> case Twitter

这个是分享键盘(包含 邮件、数字等)

@available(iOS 7.0,0)"> case WebSearch

这是英文36 ,左下是数字键 右下是 GO

public static var Alphabet: UIKeyboardType { get } // Deprecated


*/

MyTextField.keyboardType = UIKeyboardType.Alphabet

/*******************************************************/

//更改输入框的右下键的显示

/*

public enum UIReturnKeyType : Int {

case Default 默认 右下 return

case Go 右下 GO

case Google 右下角 search

case Join 右下角 join

case Next 右下角 Next

case Route 右下角 Route

case Search 右下角 查找键 search

case Send 右下角 发送 send

case Yahoo 右下角 查找键 search

case Done 右下角 Done

case EmergencyCall 右下角 EmergencyCall 键(重拨键)

@available(iOS 9.0,0)"> case Continue

*/

MyTextField.returnKeyType = UIReturnKeyType.EmergencyCall

/************************************************/

//提示输入文字

MyTextField.placeholder = "成功是什么?"

/*

效果是浅灰色的,提示文字

/************************************************/

/*

这是修改提示文字的,颜色,大小,位置(NSMutableParagraphStyle 后期再讲其使用)

*/

let placehoder = NSAttributedString(string:"我是修改的成功",attributes: [NSForegroundColorAttributeName:UIColor.redColor(),NSFontAttributeName:UIFont.systemFontOfSize(12)])

//再将设置好的 placehoder attributedPlaceholder

MyTextField.attributedPlaceholder = placehoder

/**************************************************************/

// UItextField 的监控

/*

public static var EditingDidBegin: UIControlEvents { get } // UITextField

这个是当输入框成为第一焦点时会 出发 EditingDidBegin 方法

/////////////////////////////////////////////////////

public static var EditingChanged: UIControlEvents { get }

这个参数是,TextField 每输入一次, Change 方法就会调用一次:例如我在输入框里面输入 1 2 3 4 5 输出的形式

Optional("1")

Optional("12")

Optional("123")

Optional("1234")

Optional("12345")

///////////////////////////////////////////////////

public static var EditingDidEnd: UIControlEvents { get }

这个参数是 输入框失去焦点或者 不允许编辑时,调用

//////////////////////////////////////////////////

public static var EditingDidEndOnExit: UIControlEvents { get } // 'return key' ending editing

这个是键盘右下角的 Return 被按下的时候 调用 EditingDidEndOnExit 方法

*/

MyTextField.addTarget(self,action: "Change:",forControlEvents: UIControlEvents.EditingDidEndOnExit)

/******************************************************************/

// UitextField 的代理方法 全解

MyTextField.delegate = self;

// Do any additional setup after loading the view,typically from a nib.

}

// 这是手势触摸,来结束其 MyTextField 的编辑的

override func touchesBegan(touches: Set<UITouch>,withEvent event: UIEvent?) {

self.view.endEditing(true)

}

/****************************************************************/

func Change(MyTextField:UITextField){

print(MyTextField.text)

}

/******************************************************************/

func EditingDidBegin (Mttextfield:UITextField){

print(Mttextfield.text)

}

/*****************************************************************/

func EditingDidEnd(BnTextfield:UITextField){

}

/*****************************************************************/

func EditingDidEndOnExit(bvtextfield:UITextField){

}

/*****************************************************************/

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {

// 这是 输入框将要成为第一相应者的时候调用

return true

}

/*****************************************************************/

func textFieldDidBeginEditing(textField: UITextField) {

//输入框已经成为第一相应者 ,时候调用

}

/*****************************************************************/

func textFieldShouldClear(textField: UITextField) -> Bool {

//这是点击输入框右边的 清除按钮的时候调用方法

/*****************************************************************/

func textFieldShouldEndEditing(textField: UITextField) -> Bool {

//这是输入框 将要结束编辑时候,调用方法

/*****************************************************************/

func textFieldShouldReturn(textField: UITextField) -> Bool {

// 这个是点击键盘右下角的 return 键的时候调用方法

return true

//返回值 代表 点击是否有效

}

/*****************************************************************/

/*

textField : 表示当前输入的对象

shouldChangeCharactersInRange :表示当前输入框中将要修改的字符串的长度和位子

replacementString :表示即将替换的字符串

*/

func textField(textField: UITextField,shouldChangeCharactersInRange range: NSRange,replacementString string: String) -> Bool {

// 返回值表示: 即将输入的内容是否可以输入到输入框里面 false 不可以 true 表示可以

//使作用: 可以在这里过滤,一些你不想让用户输入的文字

if textField.text != "2"{

textField.text = ""

}

/*****************************************************************/

func textFieldDidEndEditing(textField: UITextField) {

// 这是输入框已经结束编辑的时候调用方法

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}



}

猜你在找的Swift相关文章