这里我以两个textfield为例
//** 这里没有把键盘写成一个单独的View, 只提供一个思路
/
{
UITextField *textPhone;
UITextField *textCarNo;
}
// 自定义一个View
@property (nonatomic, strong) UIView *bottomView;
// textField
@property (nonatomic, strong) UITextField *textField;
// 把view赋值给系统键盘 -- 在self.bottomView可以为所欲为了...
self.textField.inputView = self.bottomView;
// inputButton上的点击方法---输入
- (void)inputChars:(UIButton *)sender
{
NSString *text = [NSString stringWithFormat:@"%@", sender.titleLabel.text];
[self changetext:text];
}
- (void)changetext:(NSString *)text
{
// 逻辑处理
if ([textPhone isFirstResponder]) {
NSString *iphoneText = textPhone.text;
if (iphoneText.length > 10) {
return;
}
textPhone.text = [NSString stringWithFormat:@"%@%@", iphoneText, text];
}
if ([textCarNo isFirstResponder]) {
NSString *carNumber = textCarNo.text;
if (carNumber.length > 6) {
return;
}
textCarNo.text = [NSString stringWithFormat:@"%@%@", carNumber, text];
}
}
// deleteButton上的点击方法---删除
- (void)deleteChars:(UIButton *)sender
{
if ([textPhone isFirstResponder]) {
NSString *deleteBefore = textPhone.text;
if (deleteBefore.length > 0) {
NSString *deleteAfter = [deleteBefore substringToIndex:deleteBefore.length - 1];
textPhone.text = deleteAfter;
}
}
if ([textCarNo isFirstResponder]) {
NSString *deleteBefore = textCarNo.text;
if (deleteBefore.length > 0){
NSString *deleteAfter = [deleteBefore substringToIndex:deleteBefore.length - 1];
textCarNo.text = deleteAfter;
}
}
}
这样简单的自定义键盘就完成了...