(ios) nsnotification总结
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];
posted on 2014-01-20 11:24 狗尾草-大数据收割基 阅读(2094) 评论(0) 编辑 收藏 举报