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

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

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

*

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

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

* 始。@H_301_2@

*/


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

// Copyright © 2015年@H_301_2@ 周双建@H_301_2@. All rights reserved.



import@H_301_2@ UIKit

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

class@H_301_2@ ViewController: @H_301_2@UIViewController,@H_301_2@UITextFieldDelegate {@H_301_2@

override@H_301_2@ func@H_301_2@ viewDidLoad() {

super@H_301_2@.viewDidLoad@H_301_2@()

@H_301_2@/*********************************************************/

@H_301_2@//创建一个@H_301_2@UItextField 的对象@H_301_2@

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

self@H_301_2@.view@H_301_2@.addSubview@H_301_2@(MyTextField)

/*@H_301_2@

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

*/

@H_301_2@// 进行@H_301_2@MyTextField的@H_301_2@ 模型设置@H_301_2@

/*@H_301_2@

enum UITextBorderStylezs : Int {

case None 无线框@H_301_2@

case Line 黑色的细线为框@H_301_2@

case Bezel 灰色内投影的矩形框@H_301_2@

case RoundedRect 圆角@H_301_2@

}

*/

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

MyTextField.@H_301_2@borderStyle = @H_301_2@UITextBorderStyle.@H_301_2@RoundedRect@H_301_2@

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

MyTextField.backgroundColor@H_301_2@ = UIColor@H_301_2@.redColor@H_301_2@()

@H_301_2@/*********************************************************/

//@H_301_2@首先清除背景色@H_301_2@

MyTextField.backgroundColor@H_301_2@ = UIColor@H_301_2@.clearColor@H_301_2@()

// @H_301_2@没有效果@H_301_2@

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

@H_301_2@// UItextfield 的清除按钮@H_301_2@ “X”号@H_301_2@

/*@H_301_2@

public enum UITextFieldviewmode : Int {

case Never 从来都不显示@H_301_2@

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

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

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

*/

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

MyTextField.@H_301_2@clearButtonMode = @H_301_2@UITextFieldviewmode.@H_301_2@UnlessEditing@H_301_2@

@H_301_2@//UITextField 的暗文输入@H_301_2@

MyTextField.secureTextEntry@H_301_2@ = true@H_301_2@

/*@H_301_2@

* 效果为黑色圆点@H_301_2@

@H_301_2@//UItextfield 键盘样式@H_301_2@

/*@H_301_2@

public enum UIKeyboardType : Int {

case Default

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

case ASCIICapable

case NumbersAndPunctuation

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

case URL

这是个网络键盘@H_301_2@

case NumberPad

这是一个@H_301_2@9 宫格@H_301_2@ 数字键盘@H_301_2@

case PhonePad

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

case NamePhonePad

英文@H_301_2@ 36 键@H_301_2@ 加@H_301_2@ 左下数字键@H_301_2@

case EmailAddress

邮件键盘@H_301_2@

@available(iOS 4.1,*)

case DecimalPad

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

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

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

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

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

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


*/

MyTextField.keyboardType@H_301_2@ = UIKeyboardType@H_301_2@.Alphabet

@H_301_2@/*******************************************************/

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

/*@H_301_2@

public enum UIReturnKeyType : Int {

case Default 默认@H_301_2@ 右下@H_301_2@ 是@H_301_2@ return 键@H_301_2@

case Go 右下@H_301_2@ 是@H_301_2@ GO键@H_301_2@

case Google 右下角@H_301_2@ 是@H_301_2@ search 键@H_301_2@

case Join 右下角@H_301_2@ 是@H_301_2@ join 键@H_301_2@

case Next 右下角@H_301_2@ 是@H_301_2@ Next 键@H_301_2@

case Route 右下角@H_301_2@ 是@H_301_2@ Route 键@H_301_2@

case Search 右下角@H_301_2@ 是@H_301_2@ 查找键@H_301_2@ search

case Send 右下角@H_301_2@ 是@H_301_2@ 发送@H_301_2@ send 键@H_301_2@

case Yahoo 右下角@H_301_2@ 是@H_301_2@ 查找键@H_301_2@ search

case Done 右下角@H_301_2@ 是@H_301_2@ Done 键@H_301_2@

case EmergencyCall 右下角@H_301_2@ 是@H_301_2@ EmergencyCall 键(重拨键)@H_301_2@

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

*/

MyTextField.returnKeyType@H_301_2@ = UIReturnKeyType@H_301_2@.EmergencyCall@H_301_2@

@H_301_2@/************************************************/

//@H_301_2@提示输入文字@H_301_2@

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

/*@H_301_2@

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

@H_301_2@/************************************************/

/*@H_301_2@

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

*/

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

@H_301_2@//再将设置好的@H_301_2@ placehoder 给@H_301_2@ attributedPlaceholder

MyTextField.attributedPlaceholder@H_301_2@ = placehoder

@H_301_2@/**************************************************************/

@H_301_2@// UItextField 的监控@H_301_2@

/*@H_301_2@

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

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

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

public static var EditingChanged: UIControlEvents { get }

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

Optional("1")

Optional("12")

Optional("123")

Optional("1234")

Optional("12345")

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

public static var EditingDidEnd: UIControlEvents { get }

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

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

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

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

*/

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

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

@H_301_2@// UitextField 的代理方法@H_301_2@ 全解@H_301_2@

MyTextField.delegate@H_301_2@ = self@H_301_2@;

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

}

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

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

self@H_301_2@.view@H_301_2@.endEditing@H_301_2@(true@H_301_2@)

}

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

func@H_301_2@ Change(MyTextField:UITextField@H_301_2@){

print@H_301_2@(MyTextField.text@H_301_2@)

}

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

func@H_301_2@ EditingDidBegin (Mttextfield:UITextField@H_301_2@){

print@H_301_2@(Mttextfield.text@H_301_2@)

}

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

func@H_301_2@ EditingDidEnd(BnTextfield:UITextField@H_301_2@){

}

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

func@H_301_2@ EditingDidEndOnExit(bvtextfield:UITextField@H_301_2@){

}

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

func@H_301_2@ textFieldShouldBeginEditing(textField: UITextField@H_301_2@) -> Bool@H_301_2@ {

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

@H_301_2@return @H_301_2@ true

}

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

func@H_301_2@ textFieldDidBeginEditing(textField: UITextField@H_301_2@) {

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

}

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

func@H_301_2@ textFieldShouldClear(textField: UITextField@H_301_2@) -> Bool@H_301_2@ {

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

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

func@H_301_2@ textFieldShouldEndEditing(textField: UITextField@H_301_2@) -> Bool@H_301_2@ {

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

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

func@H_301_2@ textFieldShouldReturn(textField: UITextField@H_301_2@) -> Bool@H_301_2@ {

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

@H_301_2@return @H_301_2@ true

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

}

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

/*@H_301_2@

textField : 表示当前输入的对象@H_301_2@

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

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

*/

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

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

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

if@H_301_2@ textField.text@H_301_2@ != "2"@H_301_2@{

textField.text@H_301_2@ = ""@H_301_2@

}

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

func@H_301_2@ textFieldDidEndEditing(textField: UITextField@H_301_2@) {

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

}

override@H_301_2@ func@H_301_2@ didReceiveMemoryWarning() {

@H_301_2@super@H_301_2@.@H_301_2@didReceiveMemoryWarning()@H_301_2@

@H_301_2@// Dispose of any resources that can be recreated.

}



}

猜你在找的Swift相关文章