Skip to content

Jolin-Zhang/vehicle-keyboard-ios

 
 

Repository files navigation

停车王车牌号码专用键盘 VehicleKeyboard - iOS

概述

  • 停车王车牌号码专用键盘ios版,支持新能源、武警、领事馆等多项专用格式车牌。
  • 代码为swift编写,已支持oc调用,可以绑定UIview使用格子输入或绑定UItextfield输入,键盘与系统键盘用法类似。

gif gif

如何使用

使用cocoaPods导入

在podfile中添加

pod 'VehicleKeyboard-swift',

然后pod install一下

OC调用

oc引用pod中的库

#import "VehicleKeyboard_swift-Swift.h"

直接作为inputView使用

[self.myTextField changeToPlatePWKeyBoardInpurView];

直接作为inputView使用时,回调于取值都与系统方法一直,直接当做系统UItextfield使用即可

格子式车牌专用输入框调用

首先在需要显示的位置摆放一个刚实例化的UIView, 然后创建一个PWHandler对象将UIView于格子车牌输入框进行绑定

@property (strong,nonatomic) PWHandler *handler;
@property (weak, nonatomic) IBOutlet UIView *plateInputView;

self.handler = [PWHandler new];
[self.handler setKeyBoardViewWithView:self.plateInputView];

self.handler.delegate = self;
//改变主题色
self.handler.mainColor = [UIColor redColor];
//改变文字大小
self.handler.textFontSize = 18;
//改变文字颜色
self.handler.textColor = [UIColor greenColor];

格子输入框的各种回调方法

//车牌输入发生变化时的回调
- (void)palteDidChnageWithPlate:(NSString *)plate complete:(BOOL)complete{
NSLog(@"输入车牌号为:%@ \n 是否完整:%@",plate,complete ? @"完整" : @"不完整");
}

//输入完成点击确定后的回调
- (void)plateInputCompleteWithPlate:(NSString *)plate{
NSLog(@"输入完成。车牌号为:%@",plate);
}

//车牌键盘出现的回调
- (void)plateKeyBoardShow{
NSLog(@"键盘显示了");
}

//车牌键盘消失的回调
- (void) plateKeyBoardHidden{
NSLog(@"键盘隐藏了");
}

Swift调用

引用pod中的库

import VehicleKeyboard_swift

直接作为inputView使用

myTextField.changeToPlatePWKeyBoardInpurView()

直接作为inputView使用时,回调于取值都与系统方法一直,直接当做系统UItextfield使用即可

格子式车牌专用输入框调用

首先在需要显示的位置摆放一个刚实例化的UIView, 然后创建一个PWHandler对象将UIView于格子车牌输入框进行绑定

let handler = PWHandler()
@IBOutlet weak var plateInputVIew: UIView!

handler.delegate = self
handler.setKeyBoardView(view: plateInputVIew)
//改变主题色
handler.mainColor = UIColor.red
//改变字体大小
handler.textFontSize = 18
//改变字体颜色
handler.textColor = UIColor.blue

格子输入框的各种回调方法

//输入完成点击确定后的回调
func plateInputComplete(plate: String) {
print("输入完成车牌号为:" + plate)
}
//车牌输入发生变化时的回调
func palteDidChnage(plate:String,complete:Bool) {
print("输入车牌号为:" + plate + "\n输入是否完整?:" + (complete ? "完整" : "不完整"))
}
//车牌键盘出现的回调
func plateKeyBoardShow() {
print("车牌键盘显示")
}
//车牌键盘消失的回调
func plateKeyBoardHidden() {
print("车牌键盘隐藏")
}

主要类的介绍

详细属性介绍请看注释

  • PWKeyboardView:核心类,主要实现键盘逻辑与布局;
  • PWHandler:自定义输入框的核心类,主要实现输入框逻辑,若使用者希望更好的调整布局,可继承此类重写layout的代理方法;
  • Engine:键盘逻辑的核心类,实现键位的布局和注册。

注意

  • 直接作为inputView使用时,当输入长度超过车牌规定长度时,会默认更新最后一位输入内容
  • 键盘除了主题色外,其他样式暂不支持修改
  • 在podfile中没有use_frameworks!这句指令的话,请加上,加上之后导入方式会有变化,请百度。

支持

VehicleKeyboard是停车王品牌的各端产品线的基础组件,专为提高中国车牌号码输入速度而定制开发的专用键盘组件,包括以下三个项目:

维护

可能的Q&A

Q: pod intall的时候失败提示找不到这个库? A: pod其实是找的本地缓存目录,新上传的库可能出现找不到的情况,删除本地的~/Library/Caches/CocoaPods/search_index.json 缓存目录,用pod repo update master这个命令更新了本地的索引库,再pod install 试试。

疑问与交流

如果你在使用此键盘时,出现一些问题,或者有相关疑问。可以添加以下微信技术群做讨论。

WxQRCode

如果群二维码过期,可以通过以下微信加好友,注明“车牌键盘”,我会拉到专门技术群做讨论。

WxQRCode

About

停车王车牌号码专用键盘 - iOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 93.1%
  • Objective-C 5.2%
  • Ruby 1.5%
  • C 0.2%