要控制输入到文本字段中的文本,我们需要使用委托的方式来实现。无论何时,当文本修改的时候,就会调用textField:shouldChangeCharactersInRange:replacementString:委托方法。
例如我们可以使用这个方法来限制输入的字符的个数:代码如下:
-(BOOL)textField:(UITextField *)txtField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
int MAX_CHARS = 10;
NSMutableString *newtxt = [NSMutableString stringWithString:txtField.text];
[newtxt replaceCharactersInRange:range withString:string];
return ([newtxt length] <= MAX_CHARS);
}
此段代码实现了最多允许用户输入10个字符的文本字段,但是我们应该检查替代文本的长度,而不是只看文本字段中文本的长度,因为文本字段的内容既可以是通过复制和粘贴来修改,也可以通过键盘来修改。
同样的原因,简单的把键盘类型修改为数值型,并不能确保用户只输入数字值(因为用户有可能想从字段中粘贴非数字的值)。下面的这段代码实现了这个功能:
-(BOOL)textField:(UITextField *)txtField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSCharacterSet *numberSet = [NSCharacterSet decimalDigitCharacterSet];
for(NSInteger i =0; i< [string length]; i++)
{
unichar ch = [string characterAtIndex:i];
if(![numberSet characterIsMember:ch])
return NO;
}
return YES;
}
分享到:
相关推荐
语言:Tiếng Việt 通过重定向到Ecotek Tip&Trick URL覆盖新的标签页 这是打开应用脚本的简单扩展,该脚本可以随机重定向到随机形式。
NULL 博文链接:https://yiminghe.iteye.com/blog/254785
trick:一些为了小方便而使用的脚本
由NASA约翰逊航天中心开发的Trick仿真环境是一个功能强大的仿真开发框架,使用户能够为航天器开发的所有阶段构建应用程序。 特里克(Trick)加快了仿真的创建过程,以进行早期飞行器设计,性能评估,飞行软件开发,...
Trick-CMCC 利用CMCC公共热点的小漏洞免费上网~~ :) sudo ./conn.sh Notice: 目前只知道我工CMCC有这特色, 其他地区尚不明确 Notice: 脚本适用于使用NetWorkManager网络sds管理工具的系统 Notice: 不必惊讶原理, ...
React 21 卡技巧一个演示卡片技巧的React应用程序。动机该项目旨在学习如何使用 React 钩子和进行嵌套的 api 调用。 该项目不再进行。怎么玩记住 21 张卡片中的 1 张后,单击完成。 选择您的卡片所在的 3 堆中的哪一...
滥用WDA_MONITOR :)
Trick
S7_200中文实例Tips&tricks
【原文地址】 Tip/Trick: Use the ASP.NET 2.0 CSS Control Adapters for CSS friendly HTML output 【原文发表日期】 Wednesday, November 29, 2006 11:01 PM 厌烦了内置的ASP.NET服务器端...
机器学习中为什么需要 Kernel Trick 以及 Kernel Trick 的证明。
Hattrick球场上座率概算 Hattrick球场上座率概算
arp_trick.tar.gz
linux shell trick
dev分支是Trick插件的主要开发分支。 从dev克隆以创建功能/主题分支是首选方法。 为插件做贡献 插件源代码托管在。 新功能建议和错误修复应作为提交。 在GitHub上克隆存储库,准备对本地存储库的更改,然后提交拉取...
Python-trick,上传的事pdf文档
Csharp利用巴斯勒工业相机自带SD采集图片 ,包含有中文注释 ,开发项目可以参考。
神经网络训练Trick,帮助炼丹!!!!
101 Google Tricks Tips and Hacks
*测试 Internet 连接 *清除 DNS 解析器缓存 *添加多个本地 Windows 用户帐户 *可以下载任意或选定的第 3 方实用程序 *Windows 更新缓存重置 *无需设置。 注意:仅限 64 位 Windows