- (void)viewDidLoad {
[[IQKeyboardManager sharedManager] disableToolbarInViewControllerClass:[self class]];
[[IQKeyboardManager sharedManager] disableDistanceHandlingInViewControllerClass:[self class]];
}
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
#pragma mark - 键盘处理
// 键盘即将显示
- (void)keyBoardWillShow:(NSNotification * )note{
CGRect rect= [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat ty=rect.size.height;
[UIView animateWithDuration:[note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue] animations:^{
self.view.transform = CGAffineTransformMakeTranslation(0, -ty);
self.noticeLabel.transform = CGAffineTransformMakeTranslation(0, ty);
[self.eleTableView setContentInset:UIEdgeInsetsMake(ty, 0, 0, 0)];
}];
}
// 键盘即将退出
- (void)keyBoardWillHide:(NSNotification * )note{
__weak typeof(self) weakSelf = self;
[UIView animateWithDuration:[note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue] animations:^{
__strong typeof(self) strongSelf = weakSelf;
strongSelf.view.transform = CGAffineTransformIdentity;
strongSelf.noticeLabel.transform = CGAffineTransformIdentity;
[strongSelf.eleTableView setContentInset:UIEdgeInsetsMake(0, 0, 0,0)];
}];
}
//处理第一响应者
[[IQKeyboardManager sharedManager] resignFirstResponder];
IQKeyboardManager 键盘处理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 很多时候用到UITextField时,处理键盘是一个很棘手的问题。 问题一:如何隐藏键盘? 方案1.改变键盘右下角...
- 键盘问题可能是每个项目中都可能遇到的问题,如果输入框位于屏幕的底部,弹起的键盘很可能挡住输入框,导致用户就看不到输...
- 我们写界面需要考虑很多用户体验问题,键盘遮挡输入框问题就是比较麻烦的一种。我们需要监听键盘事件,考虑点击背景收起键...
- 这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写在任意位置,我写在AppDelegate里...