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

        

    }

  • 相关阅读:
    话说 SVN 与 Git 之间的区别
    CentOS 7 之安装 Oracle 11gR2
    @meda媒体查询
    为样式找到应用目标-CSS选择器
    JQuery和原生JavaScript实现网页定位导航特效
    CSS代码缩写
    认识CSS样式
    文档类型、DOCTYPE切换和浏览器模式
    MIME 参考手册
    微格式(microformat)
  • 原文地址:https://www.cnblogs.com/destiLaugh/p/5821081.html
Copyright © 2011-2022 走看看