一:添加通知
//数字键盘添加完成
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotificationobject:nil];
二:数字键盘出现添加
//键盘处理 - (void)keyboardWillShow:(NSNotification *)note { UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom]; doneButton.frame = CGRectMake(15, 172, 65, 35); //doneButton.frame = CGRectMake(8, 163, 50, 30); //[doneButton setTitle:@"完成" forState:UIControlStateNormal]; [doneButton setBackgroundImage:[UIImage imageNamed:@"pickerBackIMG.png"] forState:UIControlStateNormal]; [doneButton addTarget:self action:@selector(doneBtn) forControlEvents:UIControlEventTouchUpInside]; UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1]; UIView* keyboard; for(int i=0; i<[tempWindow.subviews count]; i++) { keyboard = [tempWindow.subviews objectAtIndex:i]; // keyboard view found; add the custom button to it if(([[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES) ||(([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES))) [keyboard addSubview:doneButton]; } } - (void)doneBtn { [phoneNumTextField resignFirstResponder]; }
三:移除通知
- (void)dealloc
{
[[NSNotificationCenterdefaultCenter]removeObserver:selfname:UIKeyboardDidShowNotificationobject:nil];
[kDatePickerrelease];
[super dealloc];
}