/* 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 ---->>UITextField 控件的学习和方法的详细解释《包含代理》》的更多相关文章

  1. 详解通过focusout事件解决IOS键盘收起时界面不归位的问题

    这篇文章主要介绍了详解通过focusout事件解决IOS键盘收起时界面不归位的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. HTML5去掉输入框type为number时的上下箭头的实现方法

    这篇文章主要介绍了HTML5去掉输入框type为number时的上下箭头的实现方法,需要的朋友可以参考下

  3. HTML5中input输入框默认提示文字向左向右移动的示例代码

    这篇文章主要介绍了HTML5中input输入框默认提示文字向左向右移动,本文通过实例代码给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. 详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)

    本篇文章主要介绍了移动端HTML5页面端去掉input输入框的白色背景和边框,非常具有实用价值,需要的朋友可以参考下。

  5. ios – UITextField中的Autolayout:执行-layoutSubviews后仍需要自动布局

    我究竟做错了什么?

  6. ios – 如何使UITextField可选但不可编辑?

    我希望用户可以复制和粘贴文本,但不能编辑它们.我使用委托UITextField方法来实现这个:这样虽然文本是可选择的而且不可编辑,但是当你选择文本时,键盘总是显示出来,这有点烦人,因为你无法编辑文本.那么无论如何在不显示键盘的情况下使文本可选而不可编辑?,您可能需要添加:

  7. ios – 设置TouchID“输入密码”后备以开始编辑UITextField

    我在我的应用程序中设置了touchID并正常工作.但是,我想更改“输入密码”的功能.创建我的身份验证时,我遵循以下教程:http://www.appcoda.com/touch-id-api-ios8/但是,他们使用alertView作为“输入密码”选项.我想解雇touchIDalertview并让我的passwordTextField成为第一个响应者.当然我试过了:但这会导致错误:这是我的身份验

  8. ios – UITextField文本在左侧不滚动

    我有一个UITextField子类,我已经覆盖了一些方法.问题是,当我输入它并且文本达到严格边距时,它将不再显示我正在键入的内容.在视图调试模式中,我看到UIFieldEditor比文本提交的要宽得多.这是UITextFiled子类代码:这是我使用这个类的代码:当用户在此文本字段中键入大字符串时,如何让文本在左侧滚动?

  9. ios – UITextField secureEntry错位了游标

    我在UITextField上切换secureEntry属性时遇到问题.切换属性时,将调整字符大小,但光标位于错误的位置:解决方法这是我的解决方法:禁用然后启用UITextField也有帮助,但它会突然将我的软键盘从一个更改为另一个

  10. ios – Swift,移动键盘后面的内容在关闭后不会重置

    我在我的一个VC中有一个uiscrollview.在scrollView中,我有多个TF,按钮等.我使用下面的代码,根据Apple文档,在调用键盘通知时向上移动scrollView,以推高隐藏的文本字段.但是,当我关闭键盘时,scrollView不会重置或向下移动,它只是停留在“向上移动”的位置.我在这里错过了什么吗?我有一个名为的类的成员变量:我是否正确使用了委托方法?解决方法我这样做了,它对我有用.似乎比你的方式容易多了.我为我的项目使用了UITextView.但它应该与UITextField一样.–

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部