ios自定义控件,使UIScrollView自己处理输入时键盘遮挡控件
在开发过程中,如一个页面有许多的输入控件,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自己处理输入时键盘遮挡控件相关推荐
- [html] 怎样去除iOS和Android中的输入URL地址的控件条呢?
[html] 怎样去除iOS和Android中的输入URL地址的控件条呢? setTimeout(scrollTo,0,0,0); 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚 ...
- 基于Bootstrap的时分秒选择控件timepicker
基于Bootstrap的时分秒选择控件timepicker 最近项目中要用到时间选择控件,然而研究了半天并没有发现 bootstrap-datetimepicker 控件只选择时分秒的配置方法.自己动 ...
- 一行代码实现 ofo app 首次注册时的步骤控件
StepDialog 项目地址:guangzq/StepDialog 简介:一行代码实现 ofo app 首次注册时的步骤控件 更多:作者 提 Bug 标签: DialogFragment ...
- Android滚动字幕公告字过长时横向滚动控件
Android滚动字幕公告字过长时横向滚动控件 效果 Gradle 使用 属性 地址 效果 字体长度过大滚动字体,结束后上下滚动公告控件 Gradle repositories { maven { u ...
- [WPF]winfom中ShowWPF新窗口时TextBox等控件无法输入问题解决方法 .
项目使用ElementHost方式加载WPF,刚才直接在WPF中使用Show,而不是ShowDialog新开窗口时,窗口中的控件无法输入,但可以直接粘贴. 原来是因为WinForm与WPF实现Inpu ...
- Qt在设计ui界面时,在控件中输入中文,会自动变成英文字母,解决方案
操作系统 win10专业版64位 Qt版本 6.1.2 问题详情 在Qt Creator中,进入ui设计页面,添加一个label控件.用的微软的拼音输入法,输入中文时,刚想选择候选的文字,就直接变成了 ...
- IOS学习六:Date Picker, Picker View选取器控件初步
Date Picker控件和Picker View控件其实也是算比较常用到视图. 以下根据红柚子上得几个例子: 分别从(日期选取器)Date Picker -->单部件选取器-->多部 ...
- 关于EasyUI DataGrid行编辑时嵌入时间控件
本人做一个名为"安徽中控"项目时,为快速开发基础数据增删改模块,遂采用EasyUIDatagrid将所有增删改查的操作都集中于表格中,并且所有增删改查操作都集中于泛型对象,从而不必 ...
- Android自定义控件之3D上下翻页效果的倒计时控件
这是一个自定义的倒计时控件,具有3D上下翻页翻转效果.最近项目中需要做一个倒计时控件,需要和iOS端的效果保持一样.大致效果是这样的,如下图所示: 由于暂时还不会怎么样制作gif动态图,所以想看具体效 ...
最新文章
- 产品问答 | 3-5年的PM,如何提升竞争力?
- php-css外边距
- SAP云平台CloudFoundry上部署应用的log分析
- mysql延时优化教程_Mysql优化之延迟索引和分页优化_MySQL
- mysql提供了表示日期和时间的数据类型_MySQL数据类型 - 日期和时间类型(1)
- Linux设备驱动程序(第三版)/深入理解计算机系统(原书第2版)/[Android系统原理及开发要点详解].(韩超,梁泉)百度云盘下载
- Python笔记-UiSelector混合定位
- Vue二次封装axios为插件使用
- 剑指offer面试题64. 求1+2+…+n(逻辑符短路)(递归)
- Git入门(本地使用)
- android amr 转 wav,iOS amr和wav 音频格式转换
- CSS<< 更改鼠标样式为自定义图片
- Fork/Join 型线程池与 Work-Stealing 算法
- 谷歌裁员1.2万人,CEO年薪达15亿,网友:“地表最强 CEO !”
- 降噪蓝牙耳机排行榜10强,通话质量好的降噪蓝牙耳机推荐
- 1命名规则 sentinel_sentinel1 GRD数据和SLC数据预处理有什么区别吗?预处理流程是怎样的?...
- PHP验证身份证类(包含香港身份证校验)
- babel的使用(关于使用async报错的问题)
- 硬核 | Redis Pub/Sub 发布订阅与宅男有什么关系?
- DeepCham: Collaborative Edge-Mediated Adaptive Deep Learning for Mobile Object Recognition