数字键盘添加自定义按钮(转自cocoachina)

来源:互联网 发布:玩游戏必备软件 编辑:程序博客网 时间:2024/04/27 17:38

项目需要对数字键盘做个性化设置,网上找了几个例子,学习了下,然后总结了一下:

 

数字键盘


 

身份证键盘

 



主要的代码如下
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)
 
原帖地址:http://www.cocoachina.com/bbs/read.php?tid=140742
原创粉丝点击