为什么要自定义数字键盘,系统不是有数字键盘吗?可能你会有这样的疑问,当你碰到财务类型的App时,一般都会要求金额保留到小数点的后两位,其实系统的数字键盘利用通知也可以添加小数点和完成键,但是局限性还是很大,比如产品经理让自己公司的Logo为键盘的背景,这是就需要完全自定义了。也正是因为可恶的产品经理各种要求,我才忍不住想要写一个自己的数字键盘,想怎么修改就怎么修改,应付各种需求。

效果

下面就简单的介绍下使用吧。

使用

本文的自定义数字键盘的原理就是自定义一个LBNumberKeyboardView来代替UITextFieldinputView,使用很简单,引入头文件,代码如下:

1.创建带小数点的数字键盘(最多保留小数点后两位):

1
2
LBNumberKeyboardView *lbTop = [[LBNumberKeyboardView alloc] initWithFrame:CGRectZero];
lbTop.textField = _textFieldTop;

2.创建用完成代替小数点的数字键盘:

1
2
3
LBNumberKeyboardView *lbBottom = [[LBNumberKeyboardView alloc] initWithFrame:CGRectZero];
[lbBottom changeDotToDone];
lbBottom.textField = _textFieldBottom;

完成,使用就是这么简单。本文Demo