I use this code until upgrade to OS4.0 and then my custom keyboard not show it again. have any suggestion !? Thanks
(void)keyboardWillShow:(NSNotification *)notification { for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows]) {
// Now iterating over each subview of the available windows for (UIView *keyboard in [keyboardWindow subviews]) {
// Check to see if the description of the view we have referenced is UIKeyboard. // If so then we found the keyboard view that we were looking for. if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) {
NSValue *v = [[notification userInfo] valueForKey:UIKeyboardBoundsUserInfoKey]; CGRect kbBounds = [v CGRectValue];
if(keyboardToolbar == nil) { keyboardToolbar = [[UIToolbar alloc] initWithFrame:CGRectZero]; keyboardToolbar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(textFieldDoneEditing)]; UIBarButtonItem *flex = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; NSArray *items = [[NSArray alloc] initWithObjects:flex, barButtonItem, nil]; [keyboardToolbar setItems:items]; [items release]; }
[keyboardToolbar removeFromSuperview]; keyboardToolbar.frame = CGRectMake(0, 0, kbBounds.size.width, 30); [keyboard addSubview:keyboardToolbar]; keyboard.bounds = CGRectMake(kbBounds.origin.x, kbBounds.origin.y, kbBounds.size.width, kbBounds.size.height + 60);
for(UIView* subKeyboard in [keyboard subviews]) { if([[subKeyboard description] hasPrefix:@" } } } } }