Thursday 3 January 2013

Keyboard - Add Done Button in Number Pad




//In this code you can add done button on you number key pad you need to handle its hide/show using boolean variable as per your requirement.
.h
==

UIButton * doneButton;
BOOL phoneTagOrNot;

.m
===
- (void)addButtonToKeyboard {
   
    // create custom button
    doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
    doneButton.frame = CGRectMake(0, 163, 106, 53);
    doneButton.adjustsImageWhenHighlighted = NO;
   
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.0) {
        [doneButton setImage:[UIImage imageNamed:@"DoneUp3.png"] forState:UIControlStateNormal];
        [doneButton setImage:[UIImage imageNamed:@"DoneDown3.png"] forState:UIControlStateHighlighted];
       
    } else {
        [doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
        [doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
       
    }
   
    [doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];
   
    // locate keyboard view
    UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
   
    UIView* keyboard;
   
    for(int i=0; i<[tempWindow.subviews count]; i++) {
       
        keyboard = [tempWindow.subviews objectAtIndex:i];
       
        // keyboard found, add the button
        if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
            if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
                [keyboard addSubview:doneButton];
           
        } else {
            if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
                [keyboard addSubview:doneButton];
        }

        if (phoneTagOrNot == TRUE)
            doneButton.hidden = TRUE;
        else
            doneButton.hidden = FALSE;
    }
}

No comments:

Post a Comment