iOS 知识点键盘处理

iOS跟随键盘走动的工具栏

2016-09-30  本文已影响901人  凡尘一笑

我们经常都会看到一个工具栏在屏幕底部,然后会随着键盘出来上移,一直都是贴着键盘似的。比如下面这个,其实很多软件都有这种功能效果。


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];
    }];
}

备注:

如果有不足或者错误的地方还望各位读者批评指正,可以评论留言,笔者收到后第一时间回复。

QQ/微信:2366889552 /lan2018yingwei。

简书号:凡尘一笑:[简书]

http://www.jianshu.com/users/0158007b8d17/latest_articles

感谢各位观众老爷的阅读,如果觉得笔者写的还凑合,可以关注或收藏一下,不定期分享一些好玩的实用的demo给大家。

文/凡尘一笑(简书作者)

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

上一篇下一篇

猜你喜欢

热点阅读