一:添加通知
//数字键盘添加完成
[[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];
}