UITextField的使用详解

UITextField控件是开发中,使用频率比较高的控件了,那么有必要总结一下。

一、UITextField手动编写控件

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

// 设置委托

[txtAccount setDelegate:self];

// 设置占位符

[txtAccount setPlaceholder:@"账号"];

// 设置文本对齐

[txtAccount setTextAlignment:NSTextAlignmentLeft];

// 设置样式

[txtAccount setBorderStyle:UITextBorderStyleRoundedRect];

// 加入view中

[self.view addSubview: txtAccount];

[txtAccount release];

二、UITextFieldDelegate委托

// 设置输入框,是否可以被修改

// NO-将无法修改,不出现键盘

// YES-可以修改,默认值

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

return YES;

}

// 当点击键盘的返回键(右下角)时,执行该方法。

// 一般用来隐藏键盘

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

if (txtAccount == textField) {

[txtAccount resignFirstResponder];

}

return YES;

}

// 当输入框获得焦点时,执行该方法。

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

NSLog(@"textFieldDidBeginEditing");

}

// 指定是否允许文本字段结束编辑,允许的话,文本字段会失去first responder

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

return YES;

}

 
// 文本框失去first responder 时,执行 

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

NSLog(@"textFieldDidEndEditing");

}

// 指明是否允许根据用户请求清除内容

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

NSLog(@"textFieldDidEndEditing");

return YES;

}

// 文本框的文本,是否能被修改

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

return YES;

}

iOS开发之UITextField的使用详解的更多相关文章

  1. iOS开发之UITextField

    UITextField基本知识 UITextField展示的是一些可编辑的内容,并且与用户有一些交互.比如当你在虚拟键盘上按下return键时,一般会关联到键盘隐藏事件上.UITextField的一些 ...

  2. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)

    HttpServletResponse简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和re ...

  3. Android开发之 android:windowSoftInputMode属性详解

    android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一] ...

  4. NDK开发之Application.mk文件详解

    做过NDK开发的同学应该都知道有个Application.mk文件,这是android NDK构建系统使用的一个可选构建文件.它的目的是描述应用程序需要哪些模块,也定义了所有模块的一些通用变量.主要有 ...

  5. Android开发之Path类使用详解,自绘各种各样的图形!

    玩过自定义View的小伙伴都知道,在View的绘制过程中,有一个类叫做Path,Path可以帮助我们实现很多自定义形状的View,特别是配合xfermode属性来使用的时候.OK,那我们今天就来看看P ...

  6. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)

    HttpServletRequest获取请求头信息  (1)获取客户机请求头 String getHeader(String name) Enumeration<String> getHe ...

  7. iOS开发之UITextField 左侧设置小图标 leftview

    设置用户登录的时候,这个是避免不了,实现方法很多,我个人主张,系统有提供就使用系统,一来方便,二来运行效率高 Paste_Image.png 实现代码如下: pwdTextField.placehol ...

  8. Python开发之virtualenv和virtualenvwrapper详解

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...

  9. iOS开发之MVVM在项目中的应用

    今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...

随机推荐

  1. centos 单独安装PHP的mysql和mysqli扩展

    2013年11月22日 11:25:41 Linux centos 6.3 最小化安装 mysql 5.5 php 5.4 安装PHP时只是 ./configure --prefix=/**** 并没 ...

  2. Java最常用的变量定义汇总

    Java最常用的数据类型有基本数据类型,字符串对象,数组,基本数据类型又分为:数值型(包括整形和浮点型),字符型,布尔型,下面用一个简单的程序把这些数据类型汇总一下 public class Java ...

  3. excel复制+粘贴,怎样让公式里的参数不自动变化?

    例如,某一单元格内容为:=A1+A2 我把它复制+粘贴到其他地方,就自动变成了:=B1+B2 怎样让它不变化,仍保持=A1+A2 ?? 答: Excel一般使用相对地址来引用单元格的位置,当把一个含有 ...

  4. Win7下虚拟机个人使用小结:Virtual PC,VMware和VirtualBox

    想来用了很多年的虚拟机了,换了Win7之后,种种原因又需要使用虚拟机,这里就简单介绍和比较一下. 点击小图看大图. Virtual PC: 如果想做Windows虚拟机的话,Virtual PC在之前 ...

  5. DP:Multiplication Puzzle(POJ 1651)

    卡片游戏 题目大意:给你一排卡片,你可以从从中抽一些卡片(但是不能抽最左和最右的卡片),每张卡片上有一个数字,当你从中抽出一张卡片后,你将得卡片的数字和卡片左右两张卡片的数字的乘积的分数,问当剩下最左 ...

  6. Circle(codevs 3134)

    题目描述 Description 在一个圆上,有2*K个不同的结点,我们以这些点为端点,连K条线段,使得每个结点都恰好用一次.在满足这些线段将圆分成最少部分的前提下,请计算有多少种连线的方法 输入描述 ...

  7. Car的旅行路线(codevs 1041)

    题目描述 Description 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速铁路,第I ...

  8. CSS“反转”为LESS

    LESS(官网在此:http://lesscss.net/)的魅力相信大家都已明了,个人认为它最大的魅力在于能够清晰的展现嵌套关系. 针对现有的项目,它的应用难点主要在于—— 何时转换为css,即是否 ...

  9. 使用Antlr实现简单的DSL

    为什么要使用DSL DSL是领域专用语言,常见的DSL有SQL,CSS,Shell等等,这些DSL语言有别于其他通用语言如:C++,Java,C#,DSL常在特殊的场景或领域中使用.如下图: 领域专用 ...

  10. java容器---集合总结

    思考为什么要引入容器这个概念? Java有多种方式保存对象(应该是对象的引用),例如使用数组时保存一组对象中的最有效的方式,如果你想保存一组基本类型的数据,也推荐使用这种方式,但大家知道数组是具有固定 ...