忍不住copy过来http://www.cnblogs.com/wengzilin/archive/2012/03/13/2393985.html
还有些不错的博客推荐给大家http://blog.csdn.net/leeyehong_self/article/details/7904945
http://blog.csdn.net/tskyfree/article/details/8121915
http://blog.csdn.net/justinjing0612/article/details/7058632

1.UITextField的初始化和设置

  textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 textField.placeholder = @"password"; //默认显示的字 textField.secureTextEntry = YES; //密码 textField.autocorrectionType = UITextAutocorrectionTypeNo; textField.autocapitalizationType = UITextAutocapitalizationTypeNone; textField.returnKeyType = UIReturnKeyDone; textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X textField.delegate = self;

2.要实现的Delegate方法,关闭键盘

  - (BOOL)textFieldShouldReturn:(UITextField *)textField { [self.textField resignFirstResponder]; return YES; } 

3. 可以在UITextField使用下面方法,按return键返回

-(IBAction) textFieldDone:(id) sender
{[textFieldName resignFirstResponder];
}

链接TextField控件的"Did end on exit"
最右侧加图片是以下代码,

    UIImageView *imgv=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];text.rightView=imgv;text.rightViewMode = UITextFieldViewModeAlways;    

如果是在最左侧加图片就换成:

text.leftView=imgv;
text.leftViewMode = UITextFieldViewModeAlways;
UITextField 继承自 UIControl,此类中有一个属性contentVerticalAlignment
所以想让UITextField里面的text垂直居中可以这样写:
text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

查看函数的方法:
按住command键双击进入函数声明
按住alt键双击进入doc文档
///
文本框常用方法:
如何用程序删除文本框中选中的文本

[textView delete: nil];

///

如何限制文本框只能输入数字:

建立NSNumberFormatter的子类,增加这个方法,将formatter链接至文本框。

- (BOOL) isPartialStringValid: (NSString **) partialStringPtrproposedSelectedRange: (NSRangePointer) proposedSelRangePtroriginalString: (NSString *) origStringoriginalSelectedRange: (NSRange) origSelRangeerrorDescription: (NSString **) error
{NSCharacterSet *nonDigits;NSRange newStuff;NSString *newStuffString;nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];newStuff = NSMakeRange(origSelRange.location,proposedSelRangePtr->location- origSelRange.location);newStuffString = [*partialStringPtr substringWithRange: newStuff];if ([newStuffString rangeOfCharacterFromSet: nonDigitsoptions: NSLiteralSearch].location != NSNotFound) {*error = @"不是数字";return (NO);} else {*error = nil;return (YES);}}

///

从文本框获取十六进制数据的代码

char singleNumberString[3] = {'\0','\0','\0'};
uint32_t singleNumber = 0;
uint32_t i = 0;NSMutableData *data = [NSMutableData data];//从文本框获取到得数据const char *buf = [[_hexToSendTextField text] UTF8String];//转换为十六进制for(i = 0; i < strlen(buf); i+=2){if(((i+1) < len && isxdigit(buf) && (isxdigit(buf[i+1]))){singleNumberString[0] = buf;singleNumberString[1] = buf[i+1];sscanf(singleNumberString, "%x", &singleNumber);[data appendBytes:(void*)(&tmp) length:1];}else{break;}}//输出NSLog(@"%@", data);

/
点击 UITextView 输入文字,光标都从最初点开始

- (void)textViewDidChangeSelection:(UITextView *)textView
{NSRange range;range.location = 0;range.length = 0;textView.selectedRange = range;
}

///
软键盘
在登录页面要实现用户名和密码,密码要是点点格式,引入当前页面光标要停留在用户名选项,软键盘要弹出界面。如下图:
弹出键盘:

[username becomeFirstResponder];

取消键盘:

[username resignFirstResponder];

密码保护:

password.secureTextEntry=YES;

//

1.UITextField的初始化和设置

 textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)];
[textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型
textField.placeholder = @"password"; //默认显示的字
textField.secureTextEntry = YES; //密码
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
textField.returnKeyType = UIReturnKeyDone;
textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X
textField.delegate = self;

2.要实现的Delegate方法,关闭键盘

  - (BOOL)textFieldShouldReturn:(UITextField *)textField { [self.textField resignFirstResponder]; return YES; } 

3. 可以在UITextField使用下面方法,按return键返回

-(IBAction) textFieldDone:(id) sender
{[textFieldName resignFirstResponder];
}

链接TextField控件的"Did end on exit"

限制输入文本的长度

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{if (range.location >= MAX_LENGTH)return NO; // return NO to not change textreturn YES;
}
if (textField.text.length >= 10 && range.length == 0)return NO;
return YES;
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{ if ([textField.text length] > MAXLENGTH) { textField.text = [textField.text substringToIndex:MAXLENGTH-1]; return NO; } return YES;
} 

//
使用UITextFieldDelegate来隐藏键盘
在iPhone界面上,时常会需要当用户输入完内容后,隐藏键盘。 当然有很多方法,今天只介绍使用UITextFieldDelegate这个协议实现隐藏键盘。
其实很简单, 需要三步:

1. 在你的控制器类中,加入UITextFieldDelegate这个协议

如:@interface AddItemViewController : UIViewController

2. 在使用了UITextFieldDelegate协议的控制器类的实现中,加入- (BOOL)textFieldShouldReturn:方法。

- (BOOL)textFieldShouldReturn:(UITextField *)textField {[textField resignFirstResponder];return YES;
}

//设置焦点:

[UITextField becomeFirstResponder];

3. 将xib文件中的TextField控件的delegate变量指向到之前使用UITextFieldDelegate协议的那个控制器类,将 TextField的delegate IBOutlet变量右键链接到前面的控制器类的实例上。或者使用代码方式,指定相关TextField的delegate变量。

- (void)viewDidLoad {[super viewDidLoad];itemNameField.delegate = self;priceField.delegate = self;}

转载于:https://www.cnblogs.com/zhao-jie-li/p/5850689.html

UITextField总结--博主总结的真好相关推荐

  1. 【java】巨菜博主安装jdk为什么每次都失败?

    今天到公司实习第一天,博主兴高采烈地的使用起来的公司配备的电脑,第一步是干啥?当然是安装JDK了,博主平生安装JDK次数数不胜数,但一遍整下来没有任何差错的情况少之又少.今天也不例外,多敲了个空格害我 ...

  2. spine - unity3D(摘自博主softimagewht)

    摘自:(博主 http://www.cnblogs.com/softimagewht/p/4149118.html) //skeletonData SkeletonAnimation skeleton ...

  3. 8岁网红博主蝉联YouTube收入榜第一,今年赚了1.8亿

    前有8岁程序员走红B站,后有8岁的油管博主直接登上福布斯. 12月18日,福布斯杂志公布了YouTube频道上收入最高的博主榜单. 万万没想到,年仅8岁的Ryan Kaji竟成为该平台上收入最高的创作 ...

  4. 1万粉的小红书kol报价_小红书母婴博主资源怎么找?小红书母婴种草软文撰写技巧分享!...

    近段时间以来,小红书推广真的很受各大品牌商家的青睐,每天都有人咨询小红书推广以及向我们要关于小红书博主资源.我们公司给不少产品品牌做过小红书推广,涉及的行业也比较多, 最多的就是母婴.美妆.眼镜配饰等 ...

  5. 发现一个有意思的博主(科研工作者)

    科学网  这个社区好像都是大学老师? 发现一个有意思的博主,王立新的博客: http://blog.sciencenet.cn/u/fuzzywanglixin 博主写的文章有点意思啊,感觉很是犀利. ...

  6. centos7 pam mysql.so,Centos7下搭建FTP服务器(博主亲测不坑)

    Loading... 领导要用,虽然不知道用途是干啥的,估计跟我们最近做的项目有关系.网络上搜出来的教程很多,配置复杂,而且不一定成功,很烦,我的配置肯定能用,保证不坑. 一.关闭防火墙.SELinu ...

  7. Flume Sinks官网剖析(博主推荐)

    不多说,直接上干货! Flume Sources官网剖析(博主推荐) Flume Channels官网剖析(博主推荐) Flume Channel Selectors官网剖析(博主推荐) 一切来源于f ...

  8. 油管博主路透 3080Ti 参数、黄教主烤箱中拿出 DGX A100 预热发布会

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 内容概要:众多资料都表明,黄仁勋将在 5 月 14 日 GTC 的主题演讲上,发布新一 ...

  9. @程序员,地表最强的 CSDN 原创博主大赛来了!

    原创·博主大赛 "GEEK+"技术人召集令! 原创文章 技术干货 强者对垒 活动时间: 8月4日-9月15日 活动入口: http://suo.im/5DLf9X CSDN博主大比 ...

最新文章

  1. Shiny平台构建与R包开发(一)——ui布局
  2. SpringMVC级联获取前台数据
  3. Linux配置最基础的命令
  4. SAP CRM Division下载调试
  5. saveas java_在SaveAs之后Excel崩溃
  6. android+六边形布局,android – 带六边形触摸区域的六角形按钮
  7. windows 仍在设置此设备的类配置。 (代码 56)_谷歌发布Flutter Alpha:支持Windows
  8. Leetcode 648.单词替换
  9. mysql insert 错误码_利用 MySQL 自身错误诊断区域-爱可生
  10. 【算法分析与设计】埃氏筛素数算法
  11. 样条曲线_Apollo规划算法基于样条曲线的平滑分析(一)
  12. java后台返回html_SpringMvc返回html页面字符串
  13. 99%用户不知道 搜索引擎这样用才有效率
  14. excel计算机一级打不开,excel打不开的原因及解决方法
  15. win8.1中文版开启远程桌面
  16. 网卡在linux系统下的驱动怎么安装,RedHat Linux系统如何安装无线网卡驱动
  17. LAMP平台部署及应用_wuli大世界_新浪博客
  18. (转)用MongoDB 实现优酷API 缓存
  19. 太阳光轨迹软件_教你记录太阳的轨迹
  20. Linux 邮件服务

热门文章

  1. Swift 懒性属性
  2. iOS 绘画 点与像素
  3. swift_029(Swift 的泛型)
  4. html点击散点图的点显示一个文本,javascript – D3.js中的简单散点图示例?
  5. 【设计模式】四:开放-封闭原则
  6. 主要的窗体控件的概述
  7. Android_注解+反射代替findViewById()
  8. jsp页面传递参数是如何与javabean进行关联的
  9. asp.net发布网站(转)
  10. 毒霸duba劫持首页的解决方案(实测有效)