数字键盘添加自定义按钮

数字键盘添加自定义按钮    (在iOS代码库中浏览本帖)

    • 关键字:数字键盘 自定义 键盘
    • 代码类库:键盘(Keyboard)
    项目需要对数字键盘做个性化设置,网上找了几个例子,学习了下,然后总结了一下:



      

    主要的代码如下
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    - ( void )addButtonToKeyboardWithSelector:( SEL )sel normal:(UIImage*)nimg highlight:(UIImage*)himg{
         // create custom button
         UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
         doneButton.tag=8;
         doneButton.frame = CGRectMake(0, 0, 106, 53);
         doneButton.adjustsImageWhenHighlighted = NO ;
         
         [doneButton setImage:nimg forState:UIControlStateNormal];
         [doneButton setImage:himg forState:UIControlStateHighlighted];
         [doneButton addTarget: self action:sel forControlEvents:UIControlEventTouchUpInside];
         // locate keyboard view
        //这样更合理一点
         int cnt=[[UIApplication sharedApplication] windows].count;
         UIWindow* keyboardWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:cnt-1];
         doneButton.frame = CGRectMake(0, keyboardWindow.frame.size.height-53, 106, 53);
         if ([[keyboardWindow description] hasPrefix:@ "<UITextEffectsWindow" ])
             [keyboardWindow addSubview:doneButton];
         
         NSLog (@ "keyboard:%@ %@ %@" , NSStringFromCGRect (keyboardWindow.frame), NSStringFromCGRect (doneButton.frame),keyboardWindow.subviews);
    }
     
    - ( void )removeButtonFromKeyboard {
         // locate keyboard view
         for ( NSUInteger i=0; i<[[UIApplication sharedApplication] windows].count; i++) {
             UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:i];
             if ([[tempWindow description] hasPrefix:@ "<UITextEffectsWindow" ]== YES ){
                 [[tempWindow viewWithTag:8] removeFromSuperview];
             }
         }
    }





    示例代码:   doneButton.zip (332 K) 下载次数:326 
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值