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

        

    }

  • 相关阅读:
    list转datatable c#
    按钮靠右css小结
    IE浏览器打印合格证相关问题
    vue项目插入视频-mp4
    vue项目bug-Couldn’t find preset "es2015"
    Mac打开swf文件
    mac+windows下从git上拉取项目及运行
    echarts.js制作中国地图
    前端数据可视化echarts.js
    vue-router 基本使用
  • 原文地址:https://www.cnblogs.com/destiLaugh/p/5821081.html
Copyright © 2011-2022 走看看