UITextField详解

一、基本属性

  1、创建文本输入框

  UITextField*textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 10, 200, 20)];

  2、设置边框样式

  textField.borderStyle = UITextBorderStyleRoundedRect;//圆角

  可选属性:

UITextBorderStyleNone,无边框

UITextBorderStyleLine,有边框

UITextBorderStyleBezel,有边框和阴影

UITextBorderStyleRoundedRect圆角

  3、设置背景颜色

  textField.backgroundColor = [UIColor blueColor];

  4、设置背景图片

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

  5、提示文字

  textField.placeholder = @"请输入";

  6、设置和读取文字内容

  textField.text = @”hello”;

  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,          邮件地址输入键盘

  10、键盘风格

  textView.keyboardAppearance=UIKeyboardAppearanceDefault;

  可选属性

  UIKeyboardAppearanceDefault, 默认外观,浅灰色

  UIKeyboardAppearanceAlert,     深灰 石墨色

  11、设置自定义键盘

  UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320.300)];

  //位置和宽由系统决定。

  textField.inputView = customView ;

   inputAccessoryView 设置系统键盘或自定义键盘上的视图

  12、设置左右视图

  UITextField 可以直接设置 leftView 或 rightView, 文本输入区域就在 leftView 和 rightView 之间。

  textField.leftView = leftview;

  textField.leftViewMode = UITextFieldViewModeAlways;

  右视图rightView也是一样,Mode有四种

UITextFieldViewModeNever, 从不出现

UITextFieldViewModeWhileEditing 编辑时显示

UITextFieldViewModeUnlessEditing 不编辑时显示

UITextFieldViewModeAlways  总是显示

  13、设置清除按钮显示模式

textField.clearButtonMode = UITextFieldViewModeAlways;

  Mode同左右视图的mode一样。

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

  textField.clearsOnBeginEditing = YES

  15、对齐方式

  垂直对齐:

  textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter

可选属性:

UIControlContentVerticalAlignmentCenter  居中对齐

UIControlContentVerticalAlignmentTop    顶部对齐,默认是顶部对齐

UIControlContentVerticalAlignmentBottom 底部对齐

UIControlContentVerticalAlignmentFill    完全填充

水平对齐:

textField.textAlignment = UITextAlignmentCenter;

可选属性:

UITextAlignmentLeft,左对齐,默认是左对齐

UITextAlignmentCenter,

UITextAlignmentRight,右对齐

16、 设置滚动

textField.font = [UIFont systemFontOfSize:30]; 设置文字大小

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

设置滚动时最小字号,与滚动相关,要比设置的字体小,否则没有意义,没有设置这一项文字也会缩小和滚动

textField.minimumFontSize = 20;

17、设置return键

textField.returnKeyType = UIReturnKeyGoogle;search

可选属性

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

UIReturnKeyGo,      标有Go的蓝色按钮

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

UIReturnKeyJoin,标有Join的蓝色按钮

UIReturnKeyNext,标有Next的蓝色按钮

UIReturnKeyRoute,标有Route的蓝色按钮

UIReturnKeySearch,标有Search的蓝色按钮

UIReturnKeySend,标有Send的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyEmergencyCall, 紧急呼叫按钮

18、设置输入自动纠正模式

textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;

可选属性:

UITextAutocapitalizationTypeNone, 不自动纠正

UITextAutocapitalizationTypeWords,  单词首字母大写

UITextAutocapitalizationTypeSentences,  句子的首字母大写

UITextAutocapitalizationTypeAllCharacters, 所有字母都大写

 二、文本编辑框代理

1、是否进入编辑模式

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

默认返回YES,进入编辑模式。NO不进入编辑模式

2、进入编辑模式

- (void)textFieldDidBeginEditing:(UITextField *)textField

3、是否退出编辑模式

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField

默认返回YES,退出编辑模式。NO不退出编辑模式

4、退出编辑模式

- (void)textFieldDidEndEditing:(UITextField *)textField

5、点击清除按钮是否清除

- (BOOL)textFieldShouldClear:(UITextField *)textField

默认返回YES,返回NO不清除

6、点击键盘上Return按钮时候调用

- (BOOL)textFieldShouldReturn:(UITextField *)textField

7、当输入任何字符时,代理调用该方法

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

当输入字符时,代理调用该方法,如果返回YES则这次输入可以成功,如果返回NO,不能输入成功。range表示光标位置,string表示这次输入的字符串。

iOS学习笔记(5)— UITextField的更多相关文章

  1. 【iOS学习笔记】UITextField中的输入检测——限制只能输入数字和小数点

    最近趁着放假时间,在看The Big Nerd Ranch的iOS编程,想着重新复习一遍iOS开发的基础知识 于是从这一篇开始记录一些学习过程中遇到的小问题 书中第四章有一个温度转换的app实现,整体 ...

  2. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  3. iOS学习笔记——AutoLayout的约束

    iOS学习笔记——AutoLayout约束 之前在开发iOS app时一直以为苹果的布局是绝对布局,在IB中拖拉控件运行或者直接使用代码去调整控件都会发上一些不尽人意的结果,后来发现iOS在引入了Au ...

  4. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

  5. IOS学习笔记之关键词@dynamic

    IOS学习笔记之关键词@dynamic @dynamic这个关键词,通常是用不到的. 它与@synthesize的区别在于: 使用@synthesize编译器会确实的产生getter和setter方法 ...

  6. iOS学习笔记-精华整理

    iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...

  7. iOS学习笔记10-UIView动画

    上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI ...

  8. iOS学习笔记总结整理

    来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...

  9. iOS学习笔记之Category

    iOS学习笔记之Category 写在前面 Category是类别(也称为类目或范畴),使用Category,程序员可以为任何已有的类添加方法.使用类别可以对框架提供的类(无法获取源码,不能直接修改) ...

  10. iOS学习笔记之ARC内存管理

    iOS学习笔记之ARC内存管理 写在前面 ARC(Automatic Reference Counting),自动引用计数,是iOS中采用的一种内存管理方式. 指针变量与对象所有权 指针变量暗含了对其 ...

随机推荐

  1. CentOS 6.6 中中文输入法设置

    排版比较乱你,参见 https://www.zybuluo.com/Jpz/note/144597 Linux开发环境配置 安装完系统之后,我们需要设置中文输入法,中文输入法是系统自带的,设置步骤如下 ...

  2. javascript confirm()函数的用法

    javascript confirm()函数的用法 confirm():确认消息对话框.用于允许用户做选择的动作.弹出的对话框中包含一确定按钮和一取消按钮. confirm(str) 参数说明: st ...

  3. 【转载】基于ANSYS APDL的有裂纹平板问题的断裂力学仿真(PLANE183)

    原文地址:http://blog.sina.com.cn/s/blog_9e19c10b0102vnw7.html 对于一般的强度问题,我们总是用应力来度量其强度的.但是对于有裂纹的,高强度的构件,使 ...

  4. ora-01445:无法从不带保留关键字的表的连接视图中选择ROWID或采样

    系统要创建一个物化试图,用到很多张表,执行的时候报错:   ora-01445:无法从不带保留关键字的表的连接视图中选择ROWID或采样   网上搜了下,有多种原因和解决方法,最终我选择先尝试一下修改 ...

  5. numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

    python35用pip安装scipy的时候报错 numpy.distutils.system_info.NotFoundError: no lapack/blas resources found 原 ...

  6. 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询

    前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...

  7. ef执行记录原生态代码方法。

    select e; var f = (System.Data.Objects.ObjectQuery<SimpleEntry>)final; var s = f.ToTraceString ...

  8. [Java] - 格式字符串替换方法

    Java 字符串格式替换方法有两种,一种是使用String.format(...),另一种是使用MessageFormat.format(...) 如下: import java.text.Messa ...

  9. 【python】传入函数

    def add(x, y, f): return f(x) + f(y) 当我们调用add(-5, 6, abs)时,参数x,y和f分别接收-5,6和abs,根据函数定义,我们可以推导计算过程为: x ...

  10. 电脑控制台灯(c# hook,显示室温,联网校正时间)

          突发奇想,于是便写了一个小程序用于控制台灯,这几天功能也在不断的完善中,目前基本已经完成.下面进行功能的简述的代码的分析. 整体设计包含下位机程序和上位机程序.下位机用的c语言,上位机用的 ...