UITextField讲解

一.基本属性设置

1. 创建一个文本输入框

UITextField*textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 30, 300, 30)];

2. 设置边框样式

textField.borderStyle = UITextBorderStyleRoundedRect;//圆角

typedef enum {

UITextBorderStyleNone,无边框

UITextBorderStyleLine,有边框

UITextBorderStyleBezel,有边框和阴影

UITextBorderStyleRoundedRect圆角

} UITextBorderStyle;

3.背景颜色是文本内容部分的颜色

textField.backgroundColor = [UIColor blueColor];

4. 设置背景图片

textField.background=[UIImage imageNamed:@"Icon.png"];

5.提示文字

textField.placeholder = @"请输入单词";

6.设置和读取 文字内容

textField.text = @”我是文本框”;

(也可以编辑之后获取文本框内容)

NSString * str = textField.text;

7. 设置字体格式

[textField setFont:[UIFont fontWithName:@"Arial" size:30]];

NSLog(@"%@", [UIFont familyNames]);//查看字体集

8.密文输入

textField.secureTextEntry = YES;

9.键盘类型

textField.keyboardType = UIKeyboardTypeNumberPad;//数字键UIKeyboardTypeDefault,                // 当前键盘(默认)

UIKeyboardTypeASCIICapable,           // 字母输入键

UIKeyboardTypeNumbersAndPunctuation,  //数字和符号

UIKeyboardTypeURL,                    URL键盘

UIKeyboardTypeNumberPad,             数字键盘

UIKeyboardTypePhonePad,              电话号码输入键盘

UIKeyboardTypeEmailAddress, //邮件地址输入键盘

} UIKeyboardType;

10.键盘风格

textView.keyboardAppearance=UIKeyboardAppearanceDefault;

UIKeyboardAppearanceDefault, 默认外观,浅灰色

UIKeyboardAppearanceAlert,     深灰 石墨色

11.设置弹出视图(不弹键盘弹图片)

UIImageView * imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Icon.png"]];

imageView.frame = CGRectMake(0, 100, 320, 100);(跟位置和宽无关)

textField.inputView = imageView;

12.设置左视图

UIView * leftview = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100   )];//只有宽度起到了作用

textField.leftView = leftview;

leftview.backgroundColor = [UIColor purpleColor];

要设置左视图模式

textField.leftViewMode = UITextFieldViewModeAlways;

13 还可以设置右视图

textField.rightView = rightView;

textField.rightViewMode = UITextFieldViewModeAlways;、、这个右视图模式会影响清除按钮模式

14. 设置清除按钮模式

textField.clearButtonMode = UITextFieldViewModeAlways;//出现小叉子

typedef enum {

UITextFieldViewModeNever,、、从不出现

UITextFieldViewModeWhileEditing,编辑时显示

UITextFieldViewModeUnlessEditing,不编辑时

UITextFieldViewModeAlways  总是显示

} UITextFieldViewMode;

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

15.再次编辑时是否清空之前内容;默认NO;

text2.clearsOnBeginEditing = YES;

16.编辑内容时垂直对齐方式

text2.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;//剧中显示、默认是top显示对齐

文字内容剧中显示

text2.textAlignment = UITextAlignmentCenter;

17 设置滚动

text2.font = [UIFont systemFontOfSize:30];//可以设置文字大小

text2.adjustsFontSizeToFitWidth = YES;//默认是NO  YES当充满边框时,文字会缩小,当小到一定程度时仍然会滚动;自适应宽度;

//设置滚动时最小字号(与滚动相关)(前提:要比设置的字体小,否则没有意义)

text2.minimumFontSize = 20;(没有设置这一项文字也会缩小和滚动)

18. 设置return键

text2.returnKeyType = UIReturnKeyGoogle;search

typedef enum {

UIReturnKeyDefault, 默认 灰色按钮,标有Return

UIReturnKeyGo,      标有Go的蓝色按钮

UIReturnKeyGoogle,标有Google的蓝色按钮,用语搜索

UIReturnKeyJoin,标有Join的蓝色按钮

UIReturnKeyNext,标有Next的蓝色按钮

UIReturnKeyRoute,标有Route的蓝色按钮

UIReturnKeySearch,标有Search的蓝色按钮

UIReturnKeySend,标有Send的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyEmergencyCall, 紧急呼叫按钮

} UIReturnKeyType;

19. 首字母是否大写

text2.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;//所有字母大写

typedef enum {

UITextAutocapitalizationTypeNone, 不自动大写

UITextAutocapitalizationTypeWords,  单词首字母大写

UITextAutocapitalizationTypeSentences,  句子的首字母大写

UITextAutocapitalizationTypeAllCharacters, 所有字母都大写

} UITextAutocapitalizationType;

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

二  关于文本编辑框设置代理

a.//是否可以进入编辑模式(是否可进入输入状态)

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

return  YES;//NO进入不了编辑模式

}

b.//进入编辑模式

- (void)textFieldDidBeginEditing:(UITextField *)textField{

NSLog(@"进入编辑模式时调用");

}

c.//是否退出编辑模式(是否可以结束输入状态)

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{

return YES;//NO 退出不了编辑模式

}

d.//退出编辑模式// 结束输入状态后调用

- (void)textFieldDidEndEditing:(UITextField *)textField{

NSLog(@"退出编辑模式");

}

e.//是否可以点击清除按钮

-  (BOOL)textFieldShouldClear:(UITextField *)textField{

//textField.text = @"已经清除";

return NO;//NO不清除

}

f. // 点击键盘上Return按钮时候调用

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

//官方 取消第一响应者(就是退出编辑模式收键盘)

[textField resignFirstResponder];

return YES;

}

g.//当输入任何字符时,代理调用该方法

-(BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

//当输入任何字符时,代理调用该方法,如果返回YES则这次输入可以成功,如果返回NO,不能输入成功

//range表示光标位置,只有location,length == 0;

//string表示这次输入的字符串。

{

NSLog(@"range = %@  string = %@",NSStringFromRange(range),string);

return str.length < 10;

//textField.text超过了10个字符,返回NO,不让输入成功。(最多输入10个)

//textField.text输入后不到10个字符,返回YES,使输入成功。

return YES;

}

时间: 2024-11-10 13:49:34

UITextField讲解的相关文章

UIControl IOS控件编程 及UITextField的讲解

第一部分 UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件.UIPageControl分页控件. 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏.表格单元,甚至更大的对象. 这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每个控件都有很多视图的特性,包括附着于其他视图的能力.所有控件都拥有一套共同的属性和方法. 所以学

UILable和UITextField的详细讲解

一.UILabel (1)初始化UILabel C代码   UILabel *scoreLabel = [ [UILabel alloc ] initWithFrame:CGRectMake((self.bounds.size.width / 2), 0.0, 150.0, 43.0) ]; scoreLabel.textAlignment =  UITextAlignmentCenter; scoreLabel.text = @"我是Ad"; scoreLabel.textColor

拓扑排序讲解

在这里我们要说的拓扑排序是有前提的 我们在这里说的拓扑排序是基于有向无环图的!!!. (⊙o⊙)…我所说的有向无环图都知道是什么东西吧.. 如果不知道,我们下面先来来说说什么是有向无环图. 所谓有向无环图,顾名思义是不存在环的有向图(至于有向图是什么不知道的在前面我们有一个图论讲解上都有). 点的入度:以这个点为结束点的边数. 点的出度:以这个点为出发点的边的条数. 拓扑序就是对于一个节点的一个排列,使得(u,v)属于E,那么u一定出现在v的前面.然而拓扑排序就是一个用来求拓扑序的东西. 对于左

形象易懂讲解算法I——小波变换

https://zhuanlan.zhihu.com/p/22450818?refer=dong5 最早发于回答:能不能通俗的讲解下傅立叶分析和小波分析之间的关系? - 咚懂咚懂咚的回答现收入专栏. 从傅里叶变换到小波变换,并不是一个完全抽象的东西,可以讲得很形象.小波变换有着明确的物理意义,如果我们从它的提出时所面对的问题看起,可以整理出非常清晰的思路. 下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺序,讲一下为什么会出现小波这个东西.小波究竟是怎样的思路.(反正题主要求的是通俗形

vim编辑器讲解

--vim编辑器讲解(vim(vi的升级版),推荐vim) 打开文件(如果该文件不存在,则创建之后,保存,从内存写到硬盘上,不保存,则删除掉该文件) vim filename vim编辑器有3中模式:命令模式,插入模式,尾行模式. 命令模式:刚进入文件的时候开始的状态.u为撤销键 命令模式进入插入模式:可以通过快捷键 i(当前光标位置插入) I(本行的开头) a(当前光标位置之后) A(当前光标所在最后) o O 插入模式返回命令模式:ESC 插入模式:主要用来编辑文本的. 尾行模式:主要用来,

Smarty 函数讲解

这里给大家总结了几种Smarty 函数并分别详细讲解了.如果你正在学习Smarty  ,希望这篇文章对你有用. html_checkboxes 自定义函数 html_checkboxes 根据给定的数据创建复选按钮组. 该函数可以指定哪些元素被选定. 要么必须指定 values 和 ouput 属性,要么指定 options 替代. 所有的输出与 XHTML 兼容 html_checkbox用来用给定的数据创建checkbox.name表示checkbox的名称,values表示checkbox

ThinkPHP讲解(一)框架基础

ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写) 1.tp框架是什么,为什么使用是它? 一堆代码的集合,里边有变量.函数.类.常量,里边也有许多设计模式MVC.AR数据库.单例等等.框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次. 为什么使用框架 框架可以帮组我们快速.稳定.高效搭建程序系统 该系统由于框架的使用使得本身的维护性.灵活性.适应客户需求方面得到最大化的增强. 使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关

nfs 深度讲解及inotify

目  录 第1章共享目录的挂载及参数mount1 1.1挂载nfs下共享的data目录... 1 1.2 查看挂载的目录... 2 1.3 mount 挂载的参数... 2 1.3.1 mount –o 参数对用的选项... 3 1.3.2 man mount后的-o参数中英文翻译对比... 3 1.4 Mount挂载性能优化参数选项... 4 第2章 NFS深度讲解... 5 2.1 NFS内核优化建议... 5 2.2 服务端nfs内核优化... 5 2.3 企业生产场景NFS共享存储优化小

iOS 限制UITextfield的字数

之前在cocoachina看到一篇文章http://www.cocoachina.com/ios/20160106/14889.html,挺实用的,非常好用,肯定以后可以遇到,登录的时候肯定能遇到 - (void)textFieldTextDidChanged:(UITextField *)sender {     NSString * tempString = sender.text;          if (sender.markedTextRange == nil && tempS