UITextField总结--博主总结的真好
忍不住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总结--博主总结的真好相关推荐
- 【java】巨菜博主安装jdk为什么每次都失败?
今天到公司实习第一天,博主兴高采烈地的使用起来的公司配备的电脑,第一步是干啥?当然是安装JDK了,博主平生安装JDK次数数不胜数,但一遍整下来没有任何差错的情况少之又少.今天也不例外,多敲了个空格害我 ...
- spine - unity3D(摘自博主softimagewht)
摘自:(博主 http://www.cnblogs.com/softimagewht/p/4149118.html) //skeletonData SkeletonAnimation skeleton ...
- 8岁网红博主蝉联YouTube收入榜第一,今年赚了1.8亿
前有8岁程序员走红B站,后有8岁的油管博主直接登上福布斯. 12月18日,福布斯杂志公布了YouTube频道上收入最高的博主榜单. 万万没想到,年仅8岁的Ryan Kaji竟成为该平台上收入最高的创作 ...
- 1万粉的小红书kol报价_小红书母婴博主资源怎么找?小红书母婴种草软文撰写技巧分享!...
近段时间以来,小红书推广真的很受各大品牌商家的青睐,每天都有人咨询小红书推广以及向我们要关于小红书博主资源.我们公司给不少产品品牌做过小红书推广,涉及的行业也比较多, 最多的就是母婴.美妆.眼镜配饰等 ...
- 发现一个有意思的博主(科研工作者)
科学网 这个社区好像都是大学老师? 发现一个有意思的博主,王立新的博客: http://blog.sciencenet.cn/u/fuzzywanglixin 博主写的文章有点意思啊,感觉很是犀利. ...
- centos7 pam mysql.so,Centos7下搭建FTP服务器(博主亲测不坑)
Loading... 领导要用,虽然不知道用途是干啥的,估计跟我们最近做的项目有关系.网络上搜出来的教程很多,配置复杂,而且不一定成功,很烦,我的配置肯定能用,保证不坑. 一.关闭防火墙.SELinu ...
- Flume Sinks官网剖析(博主推荐)
不多说,直接上干货! Flume Sources官网剖析(博主推荐) Flume Channels官网剖析(博主推荐) Flume Channel Selectors官网剖析(博主推荐) 一切来源于f ...
- 油管博主路透 3080Ti 参数、黄教主烤箱中拿出 DGX A100 预热发布会
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 内容概要:众多资料都表明,黄仁勋将在 5 月 14 日 GTC 的主题演讲上,发布新一 ...
- @程序员,地表最强的 CSDN 原创博主大赛来了!
原创·博主大赛 "GEEK+"技术人召集令! 原创文章 技术干货 强者对垒 活动时间: 8月4日-9月15日 活动入口: http://suo.im/5DLf9X CSDN博主大比 ...
最新文章
- Shiny平台构建与R包开发(一)——ui布局
- SpringMVC级联获取前台数据
- Linux配置最基础的命令
- SAP CRM Division下载调试
- saveas java_在SaveAs之后Excel崩溃
- android+六边形布局,android – 带六边形触摸区域的六角形按钮
- windows 仍在设置此设备的类配置。 (代码 56)_谷歌发布Flutter Alpha:支持Windows
- Leetcode 648.单词替换
- mysql insert 错误码_利用 MySQL 自身错误诊断区域-爱可生
- 【算法分析与设计】埃氏筛素数算法
- 样条曲线_Apollo规划算法基于样条曲线的平滑分析(一)
- java后台返回html_SpringMvc返回html页面字符串
- 99%用户不知道 搜索引擎这样用才有效率
- excel计算机一级打不开,excel打不开的原因及解决方法
- win8.1中文版开启远程桌面
- 网卡在linux系统下的驱动怎么安装,RedHat Linux系统如何安装无线网卡驱动
- LAMP平台部署及应用_wuli大世界_新浪博客
- (转)用MongoDB 实现优酷API 缓存
- 太阳光轨迹软件_教你记录太阳的轨迹
- Linux 邮件服务