1 文本输入,键盘显示时,view向上,键盘隐藏时,view向下
1.1 注册键盘显示,关闭通知,并实现主界面上下变动
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];}-(void)keyboardWillShow:(NSNotification *)aNotification{ CGRect keyBoardRect=[[[aNotification userInfo]objectForKey:UIKeyboardFrameBeginUserInfoKey]CGRectValue]; NSTimeInterval animalInterval=[[[aNotification userInfo]objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; CGRect frame=self.view.frame; frame.origin.y=-keyBoardRect.size.height; [UIView beginAnimations:@"keyboardshow" context:nil]; [UIView setAnimationDuration:animalInterval]; self.view.frame=frame; [UIView commitAnimations];}-(void)keyboardWillHide:(NSNotification *)aNotification{ NSTimeInterval animalInterval=[[[aNotification userInfo]objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; CGRect frame=self.view.frame; frame.origin.y=0; [UIView beginAnimations:@"keyboardhide" context:nil]; [UIView setAnimationDuration:animalInterval]; self.view.frame=frame; [UIView commitAnimations]; }
1.2 文本框初始化,并实现UITextViewDelegate委托
self.textbox.returnKeyType=UIReturnKeyDone; self.textbox.delegate=self;} - (BOOL)textFieldShouldReturn:(UITextView *)textView{ [textView resignFirstResponder]; return YES;}
2 自定义notification
2.1 定义侦听自定义notification观察者
//注册观察者,侦听自定义通知 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(selfNotificationDO:) name:@"CustomNotification" object:nil];}-(void)selfNotificationDO:(NSNotification *)aNotification{ //处理notification //........}
2.2 生成一个自定义notification
//生成一个自定义Notification [[NSNotificationCenter defaultCenter] postNotificationName:@"CustomNotification" object:self];
新闻热点
疑难解答