title: trying to add done button to Numeric keyboard
body: <p>I'm trying to add a "done" button to the UIKeyboadnumpad, but with no success.
  What's wrong in my code?</p>
  
  <p>the keyboard don't have the done button</p>
  
  <pre><code>@implementation DemoViewController
  
  - (void)loadView {
      self.view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
      self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];
  
      textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 26)];
      textField.borderStyle = UITextBorderStyleRoundedRect;
      textField.keyboardType = UIKeyboardTypeNumberPad;
      textField.returnKeyType = UIReturnKeyDone;
      textField.textAlignment = UITextAlignmentLeft;
      textField.text = @"12345";
      [self.view addSubview:textField];
  
      [[NSNotificationCenter defaultCenter] addObserver:self 
                                               selector:@selector(keyboardWillShow:) 
                                                   name:UIKeyboardWillShowNotification 
                                                 object:nil];
  }
  
  - (void)keyboardWillShow:(NSNotification *)note {  
      // create custom button
      UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
      doneButton.frame = CGRectMake(0, 163, 106, 53);
      doneButton.adjustsImageWhenHighlighted = NO;
      [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:0];
      UIView* keyboard;
      for(int i=0; i&lt;[tempWindow.subviews count]; i++) {
          keyboard = [tempWindow.subviews objectAtIndex:i];
          // keyboard view found; add the custom button to it
          if ([[[UIDevice currentDevice] systemVersion] floatValue] &gt;= 3.2) {
              if([[keyboard description] hasPrefix:@"&lt;UIPeripheralHost"] == YES)
                  [keyboard addSubview:doneButton];
          } else {
              if([[keyboard description] hasPrefix:@"&lt;UIKeyboard"] == YES)
                  [keyboard addSubview:doneButton];
          }
  
      }
  }
  
  - (void)doneButton:(id)sender {
      NSLog(@"Input: %@", textField.text);
      [textField resignFirstResponder];
  }
  
  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
      return (interfaceOrientation == UIInterfaceOrientationPortrait);
  }
  
  - (void)didReceiveMemoryWarning {
      [super didReceiveMemoryWarning];
  }
  
  - (void)dealloc {
      [[NSNotificationCenter defaultCenter] removeObserver:self];
      [textField release];
      [super dealloc];
  }
  
  
  @end
  </code></pre>