在iOS开发中,对键盘的要求时常出现。很多时候原生态键盘满足不了一些特殊要求,为了满足boss们的需求,只能自定义了。但是自定义常常很麻烦,对我来说,不到不得已我是不会用自定义的。这里我列举一种,希望可以开拓你们的脑洞。
eg:比如我们实现UITextFiled文本框这样一种功能:只允许输入大写字母和数字,不管你在键盘上点击的是小写字母还是大写字母,要自动转换成大写字母,并且屏蔽掉除数字和字母以外的形式。就如同生活中的航班号。看下效果图
![](https://img.haomeiwen.com/i1428792/ba2e2bfeb3472e65.gif)
看下实现过程
![](https://img.haomeiwen.com/i1428792/e3326cf27fa3c6ff.png)
![](https://img.haomeiwen.com/i1428792/d813858494ce0540.png)
#define kAlphaNumPhone
@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"//只允许输入字母和数字
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNumPhone] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [string isEqualToString:filtered];
![](https://img.haomeiwen.com/i1428792/e73b79f06a23219c.png)
这就OK了,阔以根据这样的思路,实现一些其他需求。
网友评论