zoukankan      html  css  js  c++  java
  • 通过监听键盘,实现对UITextView的内容移动

    视图出现时,增加观察

    - (void)viewWillAppear:(BOOL)animated

    {

        // 增加对键盘的监听

        [[NSNotificationCenter defaultCenter] addObserver:self

         

                                                 selector:@selector(keyboardWasShown:)

         

                                                     name:UIKeyboardWillShowNotification object:nil];

        [[NSNotificationCenter defaultCenter] addObserver:self

         

                                                 selector:@selector(keyboardWasHidden:)

         

                                                     name:UIKeyboardWillHideNotification object:nil];

    }

    #pragma mark -- 与键盘监听相关的方法

    - (void)keyboardWasShown:(NSNotification *)notification

    {

        // 获取键盘高度

        CGRect keyBoardFrame  = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];

        CGFloat keyBoardH      = keyBoardFrame.size.height;

        CGFloat y                = keyBoardH - 120 - self.bottomLayout.constant;

     // 通过改变contentInset的heigh来使textView的字可以跟着移动

        self.contentTextView.contentInset   = UIEdgeInsetsMake(0, 0, y, 0);

    }

    // 键盘消失时 重新改回原来的contentInsert

    - (void)keyboardWasHidden:(NSNotification *)notification

    {

        self.contentTextView.contentInset   = UIEdgeInsetsMake(0, 0, 0, 0);

    }

     

    视图消失时,移除观察

    - (void)viewDidDisappear:(BOOL)animated

    {

        [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];

        [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];

        

    }

  • 相关阅读:
    没有功能需求文档就拒绝开发吗?
    用Spring cloud Stream来开发基于MQ消息驱动的微服务
    在Linux上讲Java命令行的作为服务运行
    EF提供的三种查询方式
    C#中sealed关键字
    winform Chart控件 获取鼠标处坐标值方法
    Linq to Entity中连接两个数据库时要注意的问题
    linq中查询列表的使用及iqueryable和list集合之间的转换
    C语言关键字register、extern、static
    DllImport的具体用法
  • 原文地址:https://www.cnblogs.com/destiLaugh/p/5821081.html
Copyright © 2011-2022 走看看