项目需要对数字键盘做个性化设置,网上找了几个例子,学习了下,然后总结了一下:
数字键盘
身份证键盘
主要的代码如下
1.- (void)addButtonToKeyboardWithSelector:(SEL)sel normal:(UIImage*)nimg highlight:(UIImage*)himg{
2. // create custom button
3. UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
4. doneButton.tag=8;
5. doneButton.frame = CGRectMake(0, 0, 106, 53);
6. doneButton.adjustsImageWhenHighlighted = NO;
7.
8. [doneButton setImage:nimg forState:UIControlStateNormal];
9. [doneButton setImage:himg forState:UIControlStateHighlighted];
10. [doneButton addTarget:self action:sel forControlEvents:UIControlEventTouchUpInside];
11. // locate keyboard view
12. int cnt=[[UIApplication sharedApplication] windows].count;
13. UIWindow* keyboardWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:cnt-1];
14. doneButton.frame = CGRectMake(0, keyboardWindow.frame.size.height-53, 106, 53);
15. [keyboardWindow addSubview:doneButton];
16.
17. NSLog(@"keyboard:%@ %@ %@",NSStringFromCGRect(keyboardWindow.frame),NSStringFromCGRect(doneButton.frame),keyboardWindow.subviews);
18.}
19.
20.- (void)removeButtonFromKeyboard {
21. // locate keyboard view
22. int cnt=[[UIApplication sharedApplication] windows].count;
23. UIWindow* keyboardWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:cnt-1]; 23.24.[[keyboardWindow viewWithTag:8] removeFromSuperview];
25.}
示例代码:
doneButton.zip (332 K)