经常会遇到 键盘 输入的字符长度的限制,比如常见的 手机号只能输入11位数等。比如我们项目中总共92个输入框需要限制位数及输入键盘的样式。方法如下:

UITextFieldTextDidChangeNotification 是系统的通知,监听该通知来做相应处理

// 在你的界面注册通知,

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(weixinTextFieldTextChanged) name:UITextFieldTextDidChangeNotification object:nil];

// 销毁的时候移除通知

- (void)dealloc

{

[[NSNotificationCenter defaultCenter] removeObserver:self name:UITextFieldTextDidChangeNotification object:nil];

}

// 对应的方法

-(void)weixinTextFieldTextChanged {

if ([self.nickTF isFirstResponder]) {

// 判断长度,比如手机号,若超过11,就取前11位作为输入框内容

if (self.nickTF.text.length >= 12) {

NSMutableString *mutStr = [NSMutableString stringWithString:self.nickTF.text];

NSString *str = [mutStr substringToIndex:11];

self.nickTF.text = str;

}

}

}

输入内容限制就用输入框的 keyboardType键盘样式来控制。

// 键盘样式:

typedef NS_ENUM(NSInteger, UIKeyboardType) {

UIKeyboardTypeDefault,                // Default type for the current input method.

UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters

UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.

UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).

UIKeyboardTypeNumberPad,              // A number pad with locale-appropriate digits (0-9,۰-۹,०-९, etc.). Suitable for PIN entry.

UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).

UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.

UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).

UIKeyboardTypeDecimalPad NS_ENUM_AVAILABLE_IOS(4_1),  // A number pad with a decimal point.

UIKeyboardTypeTwitter NS_ENUM_AVAILABLE_IOS(5_0),     // A type optimized for twitter text entry (easy access to @ #)

UIKeyboardTypeWebSearch NS_ENUM_AVAILABLE_IOS(7_0),   // A default keyboard type with URL-oriented addition (shows space . prominently).

UIKeyboardTypeASCIICapableNumberPad NS_ENUM_AVAILABLE_IOS(10_0),// A number pad (0-9) that will always be ASCII digits.

UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,// Deprecated

};

挑几个关键的说下:

UIKeyboardTypeDefault           默认 汉字,英文,符号,可随意切换

UIKeyboardTypeASCIICapable      英文,可切换数字,符号。没有汉字

UIKeyboardTypeNumberPad         数字键盘

UIKeyboardTypeDecimalPad        带小数点的数字键盘

基本上这些就可以搞定日常所需了。

iOS 键盘限制输入内容限制、输入长度限制相关推荐

  1. c#,winform,验证输入内容,文本框,长度,errorprovider组件,方便,快捷

    这几天都在写一些类似的东西,就想着偷偷懒,省了不少的东西,  /**//// <summary>         /// 验证输入框的输入内容         /// </summa ...

  2. ajax提交输入内容,当输入用于提交时,AJAX表单提交

    我有一位设计师坚持通过点击回车和由AJAX提交的帖子和由Fancybox提供的回复提交的单个表单域.问题是return false不能阻止页面的提交.当输入用于提交时,AJAX表单提交 我在那里做错了 ...

  3. input输入内容校验

    input输入内容校验 输入大小写字母.数字.下划线 <input type="text" onkeyup="this.value=this.value.repla ...

  4. 关于xcode7下的ios模拟器输入内容无法显示系统键盘的解决办法

    xcode7下的ios模拟器输入内容无法系统键盘,只能用电脑键盘输入内容,这样可能会对调试带来麻烦. 其实xcode7下的ios模拟器默认只能使用一种,要么是模拟器系统键盘,要么就是是电脑键盘.设置方 ...

  5. 在VC中实现模拟键盘,输入内容并显示在ListBox中。

    网上找的,还没试过,希望对楼主有帮助 模拟键盘按键 自动输入文字 键盘对于每个操作电脑的人员来说是最熟悉不过的了.键盘上的按键可分为两类: 按下后会在电脑的输入窗口上出现对应字符的按键,如字母键和数字 ...

  6. android EditText光标位置,光标样式,EditText限制输入内容,软键盘遮挡的EditText,搜索框,限制输入表情

    显示在软键盘上 android:windowSoftInputMode="adjustPan|stateHidden" 1.光标位置 homesosoedit.setSelecti ...

  7. 773-780---DOM事件高级(常用鼠标事件,案例:跟随鼠标的天使,常用的键盘事件,案例:模拟京东按键输入内容,案例:模拟京东快递单号查询)

    文章目录 事件高级 7 常用的鼠标事件 7.1常用的鼠标事件 7.2 鼠标事件对象 案例:跟随鼠标的天使 8 常用的键盘事件 8.1 常用的键盘事件 8.2 键盘事件对象 8.3 ASCII 表 案例 ...

  8. Android获取软键盘输入内容

    该功能的实现是通过Android辅助功能来进行实现的, 先上效果图:                                                      下面说一下如何使用Acc ...

  9. 请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串(字符串长度小于100),删除其中的字母a后输出。例如,输入字符串abcaca,输出bcc。

    请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串(字符串长度小于100),删除其中的字母a后输出.例如,输入字符串abcaca,输出bcc. 输入样例: abcaca 输出样例: bcc 代 ...

最新文章

  1. legend3---OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
  2. SAP调用WSDL报错,求解!
  3. gflags调试访问越界
  4. 在php里面怎么做日期范围,如何在php中获得上周的日期范围?
  5. 2019牛客第八场A All-one Matrices(单调栈)
  6. 洛谷 P1656 炸铁路
  7. java循环的内部改变循环变量的值_java在for循环中怎样修改参数值?
  8. Docker容器真的安全吗?
  9. 诺基亚9.3再曝光:后置1亿像素圆形五摄 价格或超6000元
  10. php爬取js对象,php如何用正则解析html中的js对象
  11. Mac 的 Adobe Creative Cloud 无法连接至服务器的解决办法?
  12. 数据库信息泄漏 不可忽视的安全短板
  13. QQ快速登录协议的分析与漏洞利用
  14. 英语语法---名词性从句详解
  15. The SDK seems invalid 问题处理
  16. 增强现实(AR)智能眼镜的关键技术:标定、跟踪与交互
  17. odoo12:上传图片,默认显示图标
  18. 多重背包问题——庆功会
  19. 一元函数的导数与微分概念及其计算
  20. DVB机顶盒的概念与分类

热门文章

  1. 换肤方案,换肤策略,App插件式换肤实现方案
  2. 电脑无线网卡和有线网卡同时使用
  3. idea中 git版本回退
  4. 科研日志--python大文件打开内存溢出
  5. 微信上看到的一篇文章,为什么保险公司一直在招人~
  6. Html5 1.4 figure和figcaption的实例
  7. 计算机网络技术个人简历范文,计算机网络技术专业个人简历自我评价范文
  8. 几种投影的特点及分带方法
  9. CodeForces 596B Wilbur and Array 贪心
  10. 跨境电商平台运营知识:亚马逊日常运营技巧