iOS开发之键盘类型

iOS开发之键盘类型

一般我们在开发时使用键盘输入,默认都是26键盘类型。而有时候根据产品需求我们在键盘输入时,需要修改键盘类型
如:

1
field.keyboardType = UIKeyboardTypeNumberPad;

这个只是纯数字键盘,没有小数点,效果如下
20150915130822922

而有时候我们需要在textField中输入价格时,发现数字键盘没有小数点,而自定义又很麻烦,这里提供参考,想自定义的朋友可以看看。
参考链接:http://blog.csdn.net/zaitianaoxiang/article/details/7895229
而实际上,苹果开发为我们提供了这样的一个API

1
field.keyboardType = UIKeyboardTypeDecimalPad

效果如下
20150915131341794

完成后我们发现在textField中我们可以输入任意数量的小数点,这不符合价格设定。
所以我们还需要通过textField的代理来判断输入内容是否符合正浮点类型。
代码如下

1
2
3
4
5
6
7
8
9
10
11
12
//监听键盘输入
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return [self validateMoney:string];
}

-(BOOL)validateMoney:(NSString *)money
{
BOOL res = YES;
NSString *phoneRegex = @"^[0-9]+(\\.[0-9]{1,2})?$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
return YES;
}

Tips

普通键盘下经常要在一些特殊的场景要把return键改写成中文
(1)IM 发送
(2)搜索
(3) 完成
(4)前往
……
20150915131829205

-------------本文结束感谢您的阅读-------------