有关TextField 的键盘挡住输入框的问题

有关TextField 的代理方法

我们在使用UITextField的时候 ,总是会遇到键盘挡住输入框的问题
大辉今天就来说说思路
1.添加两个通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldBeginEditingChangeNotifictaion:) name:UITextFieldTextDidBeginEditingNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldDidEndEditingNotifictaion:) name:UITextFieldTextDidEndEditingNotification object:nil];

主要是监听TextField 开始编辑 和 结束编辑

  1. 实现方法
    -(void)textFieldBeginEditingChangeNotifictaion:(NSNotification *)info
    {
    [UIView animateWithDuration:2 animations:^{
    if (kCurrentHeight > 480) {
    self.tableViewLayoutTop.constant = -180;

     }else{
         self.tableViewLayoutTop.constant = -300;
    
     }
    

    }];

}
-(void)textFieldDidEndEditingNotifictaion:(NSNotification *)info
{
[UIView animateWithDuration:2 animations:^{
self.tableViewLayoutTop.constant = 0;

}];

}

  1. 关键的点到了
    上边说的tableViewLayoutTop 主要是我们添加的约束 ,在编辑的过程中去改变约束
    这样来实现不同的适配问题

4.键盘也有比较好的fangf
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDisplayed:)
name:UIKeyboardWillShowNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardHidened:)
                                                 name:UIKeyboardWillHideNotification object:nil];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容