iOS跟随键盘走动的工具栏
我们经常都会看到一个工具栏在屏幕底部,然后会随着键盘出来上移,一直都是贴着键盘似的。比如下面这个,其实很多软件都有这种功能效果。
tixxh .gif
那我们怎么来实现呢,第一是编辑文本时候才需要弹出键盘,那么键盘有通知,那我们就使用通知来做这个功能。
第一步:添加通知,注意这里用UIKeyboardWillChangeFrameNotification的原因是因为键盘可能更换,比如英文键盘变成九宫格键盘,或者使用第三方键盘,这样高度就不能固定死
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keybardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
第二步:我们通过打印获取到我们需要的key
Snip20160930_18.png
第三步:通知的那个方法中实现效果
- (void)keybardWillChangeFrame:(NSNotification *)note { NSLog(@"%@",note); CGFloat keyboardH = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue].origin.y; CGFloat ScreenH = [UIScreen mainScreen].bounds.size.height; self.bottomContrain.constant = ScreenH - keyboardH; CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; [UIView animateWithDuration:duration animations:^{ [self.view layoutIfNeeded]; }]; }