《 Swift ---->>UITextField 控件的学习和方法的详细解释《包含代理》》
来源:互联网 发布:高端黑 知乎 编辑:程序博客网 时间:2024/04/20 04:17
/* 《 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
是手机默认键盘,右边是 return键 左边是 ?123键
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, *)
case Twitter
这个是分享键盘(包含 邮件、数字等)
@available(iOS 7.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, *)
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 {
//这是点击输入框右边的清除按钮的时候调用的方法
return true
}
/*****************************************************************/
func textFieldShouldEndEditing(textField: UITextField) -> Bool {
//这是输入框将要结束编辑时候,调用的方法
return true
}
/*****************************************************************/
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 = ""
}
return true
}
/*****************************************************************/
func textFieldDidEndEditing(textField: UITextField) {
// 这是输入框已经结束编辑的时候调用的方法
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
- 《 Swift ---->>UITextField 控件的学习和方法的详细解释《包含代理》》
- UITextField 控件和代理协议方法
- iOS UITextField的相关属性和代理方法
- Swift UIButton 和 UILabel 的详细解释和创建使用
- Swift 的流程语句和代理方法
- ssh 代理详细解释(最简单的方法搭建代理服务器)
- Swift 限制UITextField字数的方法
- 《Swift NSDictionary 的详细使用和部分方法介绍 和 哈希表(散列)的阐述和解释 》
- IOS UITextField常用的代理方法总结
- UITextField的一些常用代理方法
- Swift-UITextField的创建和使用详解
- Swift-代理方法的使用
- TableView 代理方法详细解释
- iOS UITextField控件关闭键盘的方法
- iOS UITextField控件关闭键盘的方法
- No.2 - UITextField控件的方法总结:
- UILable和UITextField的详细讲解
- UILable和UITextField的详细讲解
- VS2010+Opencv-2.4.0的配置攻略
- Ⅰ.14 如何处理测试脚本发生的异常
- mysql-5.7.9-winx64 MySQL服务无法启动,服务没有报告任何错误的解决办法
- Java解惑
- kernel version magic问题
- 《 Swift ---->>UITextField 控件的学习和方法的详细解释《包含代理》》
- 双for循环实现九九乘法表
- 怎么解决mysql不允许远程连接的错误1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server“
- nfs:server is not responding,still trying的解决方法
- 天声人語 20151204 「はやぶさ2」の長い旅
- 《秘密》卷一:秘密-爱的秘密
- PC上测试移动端网站和模拟手机浏览器
- 数据结构--二叉树按层次建立和按层次输出二叉树的内容
- 关于PHP一句话木马