在开发过程中,如一个页面有许多的输入控件,UITextField和UITextView。编码的时候就要考虑控件获得焦点后,键盘是否会把这个控件遮挡,就得操作UIScrollView的滚动条位置。

我开发了UIAutoScrollView类,它能自动处理键盘遮挡问题,达到了一劳永逸的效果!

  

  

1.如果是xib的方式使用这个类,不需要调用这个addAutoScrollAbility方法,我在awakeFromNib方法里调用了。 在xib中使用时,先在xib中拖入一个UIScrollView,然后再把它的class属性设置为 UIAutoScrollView

2.如我在Demo 中的CodeScrollTestViewController中用UIAutoScrollView。必须设置UIAutoScrollView的contentSize,在加完UIAutoScrollView的所有子控件的后,最后再调用下addAutoScrollAbility方法,这个顺序不能变。

3.如我在Demo 中的CodeScrollTestViewController中用UIAutoScrollView。在viewDidLoad中设置了self.view.frame=CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-self.navigationController.navigationBar.frame.size.height-[UIApplication sharedApplication].statusBarFrame.size.height);     这里必须设置下view的frame,原因是这时候view的高度已经超出了手机屏幕。超出了navigationBar和statusBar的高度. 如果不这样设置后面的代码设置UIAutoScrollView的frame等于view的frame的时候,会造成UIAutoScrollView超出手机屏幕,这样在UIAutoScrollView内部计算的时候会出bug.

Demo下载地址: https://github.com/lqCoder/UIAutoScrollView

转载于:https://www.cnblogs.com/learnWindowsPhone/p/5078170.html

ios自定义控件,使UIScrollView自己处理输入时键盘遮挡控件相关推荐

  1. [html] 怎样去除iOS和Android中的输入URL地址的控件条呢?

    [html] 怎样去除iOS和Android中的输入URL地址的控件条呢? setTimeout(scrollTo,0,0,0); 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚 ...

  2. 基于Bootstrap的时分秒选择控件timepicker

    基于Bootstrap的时分秒选择控件timepicker 最近项目中要用到时间选择控件,然而研究了半天并没有发现 bootstrap-datetimepicker 控件只选择时分秒的配置方法.自己动 ...

  3. 一行代码实现 ofo app 首次注册时的步骤控件

    StepDialog 项目地址:guangzq/StepDialog  简介:一行代码实现 ofo app 首次注册时的步骤控件 更多:作者   提 Bug    标签: DialogFragment ...

  4. Android滚动字幕公告字过长时横向滚动控件

    Android滚动字幕公告字过长时横向滚动控件 效果 Gradle 使用 属性 地址 效果 字体长度过大滚动字体,结束后上下滚动公告控件 Gradle repositories { maven { u ...

  5. [WPF]winfom中ShowWPF新窗口时TextBox等控件无法输入问题解决方法 .

    项目使用ElementHost方式加载WPF,刚才直接在WPF中使用Show,而不是ShowDialog新开窗口时,窗口中的控件无法输入,但可以直接粘贴. 原来是因为WinForm与WPF实现Inpu ...

  6. Qt在设计ui界面时,在控件中输入中文,会自动变成英文字母,解决方案

    操作系统 win10专业版64位 Qt版本 6.1.2 问题详情 在Qt Creator中,进入ui设计页面,添加一个label控件.用的微软的拼音输入法,输入中文时,刚想选择候选的文字,就直接变成了 ...

  7. IOS学习六:Date Picker, Picker View选取器控件初步

    Date Picker控件和Picker View控件其实也是算比较常用到视图. 以下根据红柚子上得几个例子: 分别从(日期选取器)Date Picker   -->单部件选取器-->多部 ...

  8. 关于EasyUI DataGrid行编辑时嵌入时间控件

    本人做一个名为"安徽中控"项目时,为快速开发基础数据增删改模块,遂采用EasyUIDatagrid将所有增删改查的操作都集中于表格中,并且所有增删改查操作都集中于泛型对象,从而不必 ...

  9. Android自定义控件之3D上下翻页效果的倒计时控件

    这是一个自定义的倒计时控件,具有3D上下翻页翻转效果.最近项目中需要做一个倒计时控件,需要和iOS端的效果保持一样.大致效果是这样的,如下图所示: 由于暂时还不会怎么样制作gif动态图,所以想看具体效 ...

最新文章

  1. 产品问答 | 3-5年的PM,如何提升竞争力?
  2. php-css外边距
  3. SAP云平台CloudFoundry上部署应用的log分析
  4. mysql延时优化教程_Mysql优化之延迟索引和分页优化_MySQL
  5. mysql提供了表示日期和时间的数据类型_MySQL数据类型 - 日期和时间类型(1)
  6. Linux设备驱动程序(第三版)/深入理解计算机系统(原书第2版)/[Android系统原理及开发要点详解].(韩超,梁泉)百度云盘下载
  7. Python笔记-UiSelector混合定位
  8. Vue二次封装axios为插件使用
  9. 剑指offer面试题64. 求1+2+…+n(逻辑符短路)(递归)
  10. Git入门(本地使用)
  11. android amr 转 wav,iOS amr和wav 音频格式转换
  12. CSS<< 更改鼠标样式为自定义图片
  13. Fork/Join 型线程池与 Work-Stealing 算法
  14. 谷歌裁员1.2万人,CEO年薪达15亿,网友:“地表最强 CEO !”
  15. 降噪蓝牙耳机排行榜10强,通话质量好的降噪蓝牙耳机推荐
  16. 1命名规则 sentinel_sentinel1 GRD数据和SLC数据预处理有什么区别吗?预处理流程是怎样的?...
  17. PHP验证身份证类(包含香港身份证校验)
  18. babel的使用(关于使用async报错的问题)
  19. 硬核 | Redis Pub/Sub 发布订阅与宅男有什么关系?
  20. DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition

热门文章

  1. Java串口通信具体解释
  2. 黑马程序员之SQL server基础学习笔记(三)
  3. 【思维】javascript选择排序
  4. java 蓝桥杯算法训练 4-1打印下述图形(题解)
  5. java获取系统时间并自定义格式
  6. (65)Verilog HDL多模块重复例化:generate for
  7. Python基础-3内建函数 type() cmp()
  8. jenkins构建后脚本不执行_接口管理工具ApiPost-预(后)执行脚本常用方法集合
  9. 【AD】PCB设计知识整理(持续更新)
  10. 数据结构与算法分析(四)——C++实现栈