[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(transformView:) name:UIKeyboardWillChangeFrameNotification object:nil];//键盘的弹出
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
//键盘的消失
//弹出键盘UIView
-(void)transformView:(NSNotification*)aNSNotification{
//获取键盘弹出前的Rect
NSValue*keyBoardBeginBounds=[[aNSNotification userInfo]objectForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect beginRect=[keyBoardBeginBounds CGRectValue];
//获取键盘弹出后的Rect
NSValue*keyBoardEndBounds=[[aNSNotification userInfo]objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect endRect=[keyBoardEndBounds CGRectValue];
//获取键盘位置变化前后纵坐标Y的变化值
CGFloat deltaY=endRect.origin.y-beginRect.origin.y;
NSLog(@"看看这个变化的Y值:%f",deltaY);
//在0.25s内完成self.view的Frame的变化,等于是给self.view添加一个向上移动deltaY的动画
[UIView animateWithDuration:0.25f animations:^{
self.popView.frame = CGRectMake(0, -50, kScreenWidth, kScreenHeight);
}];
}
//退出键盘UIView
-(void)keyboardWillHide:(NSNotification*)aNSNotification{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.25];
[UIView setAnimationCurve:7];
self.popView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight);
[UIView commitAnimations];
}
iOS 键盘弹出与回收,界面上移/下移
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
- //1.在.h文件中 #import#define MaxTextViewHeight 80 //限制文字输入的高...