iOS 键盘限制输入内容限制、输入长度限制
经常会遇到 键盘 输入的字符长度的限制,比如常见的 手机号只能输入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 键盘限制输入内容限制、输入长度限制相关推荐
- c#,winform,验证输入内容,文本框,长度,errorprovider组件,方便,快捷
这几天都在写一些类似的东西,就想着偷偷懒,省了不少的东西, /**//// <summary> /// 验证输入框的输入内容 /// </summa ...
- ajax提交输入内容,当输入用于提交时,AJAX表单提交
我有一位设计师坚持通过点击回车和由AJAX提交的帖子和由Fancybox提供的回复提交的单个表单域.问题是return false不能阻止页面的提交.当输入用于提交时,AJAX表单提交 我在那里做错了 ...
- input输入内容校验
input输入内容校验 输入大小写字母.数字.下划线 <input type="text" onkeyup="this.value=this.value.repla ...
- 关于xcode7下的ios模拟器输入内容无法显示系统键盘的解决办法
xcode7下的ios模拟器输入内容无法系统键盘,只能用电脑键盘输入内容,这样可能会对调试带来麻烦. 其实xcode7下的ios模拟器默认只能使用一种,要么是模拟器系统键盘,要么就是是电脑键盘.设置方 ...
- 在VC中实现模拟键盘,输入内容并显示在ListBox中。
网上找的,还没试过,希望对楼主有帮助 模拟键盘按键 自动输入文字 键盘对于每个操作电脑的人员来说是最熟悉不过的了.键盘上的按键可分为两类: 按下后会在电脑的输入窗口上出现对应字符的按键,如字母键和数字 ...
- android EditText光标位置,光标样式,EditText限制输入内容,软键盘遮挡的EditText,搜索框,限制输入表情
显示在软键盘上 android:windowSoftInputMode="adjustPan|stateHidden" 1.光标位置 homesosoedit.setSelecti ...
- 773-780---DOM事件高级(常用鼠标事件,案例:跟随鼠标的天使,常用的键盘事件,案例:模拟京东按键输入内容,案例:模拟京东快递单号查询)
文章目录 事件高级 7 常用的鼠标事件 7.1常用的鼠标事件 7.2 鼠标事件对象 案例:跟随鼠标的天使 8 常用的键盘事件 8.1 常用的键盘事件 8.2 键盘事件对象 8.3 ASCII 表 案例 ...
- Android获取软键盘输入内容
该功能的实现是通过Android辅助功能来进行实现的, 先上效果图: 下面说一下如何使用Acc ...
- 请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串(字符串长度小于100),删除其中的字母a后输出。例如,输入字符串abcaca,输出bcc。
请使用指针的方法编写程序,程序的功能是从键盘输入一个字符串(字符串长度小于100),删除其中的字母a后输出.例如,输入字符串abcaca,输出bcc. 输入样例: abcaca 输出样例: bcc 代 ...
最新文章
- legend3---OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
- SAP调用WSDL报错,求解!
- gflags调试访问越界
- 在php里面怎么做日期范围,如何在php中获得上周的日期范围?
- 2019牛客第八场A All-one Matrices(单调栈)
- 洛谷 P1656 炸铁路
- java循环的内部改变循环变量的值_java在for循环中怎样修改参数值?
- Docker容器真的安全吗?
- 诺基亚9.3再曝光:后置1亿像素圆形五摄 价格或超6000元
- php爬取js对象,php如何用正则解析html中的js对象
- Mac 的 Adobe Creative Cloud 无法连接至服务器的解决办法?
- 数据库信息泄漏 不可忽视的安全短板
- QQ快速登录协议的分析与漏洞利用
- 英语语法---名词性从句详解
- The SDK seems invalid 问题处理
- 增强现实(AR)智能眼镜的关键技术:标定、跟踪与交互
- odoo12:上传图片,默认显示图标
- 多重背包问题——庆功会
- 一元函数的导数与微分概念及其计算
- DVB机顶盒的概念与分类