iOS - 设置底部输入框随键盘的移动而移动

xib:一个tableview和一个view ,并设置一些约束,输入框的底部紧贴着整个view的底部


下边的输入框需要设置为随键盘的移动而移动


一 .将底部约束拖到对应的.m文件中



二 .在适当的位置(如:viewDidLoad)注册通知

// 注册通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
三 .并加入以下代码:
- (void)keyboardWillChangeFrame:(NSNotification *)note
{
    // 键盘显示\隐藏完毕的frame
    CGRect frame = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
    // 修改底部约束
    self.bottomSpace.constant = [UIScreen mainScreen].bounds.size.height - frame.origin.y; // 屏幕的高度 - 键盘的Y值
    // 动画时间
    CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    // 动画
    [UIView animateWithDuration:duration animations:^{
        [self.view layoutIfNeeded]; // 自动布局的view改变约束后,需要强制布局
    }];
}

- (void)dealloc
{
    // 移除通知
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

现在,底部输入框就会随键盘的移动而移动了


设置当tableView拖拽时退出键盘

一 .设置tableView的delegate为对应的控制器



二 .遵守协议:

@interface LXFCommentViewController () <UITableViewDelegate>
三 .实现代码方法:

#pragma mark - <UITableViewDelegate>
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    [self.view endEditing:YES];
}





阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lincsdnnet/article/details/51541295
个人分类: iOS开发
想对作者说点什么? 我来说一句

IOS 车牌号录入 自定义键盘

2017年03月01日 42KB 下载

没有更多推荐了,返回首页

不良信息举报

iOS - 设置底部输入框随键盘的移动而移动

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭