如何用Xcode的原生键盘实现特殊功能

在iOS开发中,对键盘的要求时常出现。很多时候原生态键盘满足不了一些特殊要求,为了满足boss们的需求,只能自定义了。但是自定义常常很麻烦,对我来说,不到不得已我是不会用自定义的。这里我列举一种,希望可以开拓你们的脑洞。

eg:比如我们实现UITextFiled文本框这样一种功能:只允许输入大写字母和数字,不管你在键盘上点击的是小写字母还是大写字母,要自动转换成大写字母,并且屏蔽掉除数字和字母以外的形式。就如同生活中的航班号。看下效果图


如何用Xcode的原生键盘实现特殊功能_第1张图片
Untitled.gif

看下实现过程


如何用Xcode的原生键盘实现特殊功能_第2张图片
示意图1.png

如何用Xcode的原生键盘实现特殊功能_第3张图片
示意图2.png
这里的宏定义和代码是:
#define kAlphaNumPhone  
@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"//只允许输入字母和数字
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNumPhone] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [string isEqualToString:filtered];
如何用Xcode的原生键盘实现特殊功能_第4张图片
示意图3.png

这就OK了,阔以根据这样的思路,实现一些其他需求。

你可能感兴趣的:(如何用Xcode的原生键盘实现特殊功能)