VC对ScrollView的调整
来源:互联网 发布:乐视超级电视销售数据 编辑:程序博客网 时间:2024/06/17 06:55
automaticallyAdjustsScrollViewInsets
- automaticallyAdjustsScrollViewInsets是ViewController的一个属性,指示VIewController是否需要自动调整ScrollViewInsets。
- 默认值为YES,允许ViewController自动调整ScrollViewInsets
VC对ScrollView的调整
- 当automaticallyAdjustsScrollViewInsets值为YES时,viewController根据当前view中statusBar,navigaionTionBar,toolBar或者toolBar来自动调整scrollView的的contentInset和ContentOffset。使得scrollView的内容不会被这些Bar遮挡
- 具体通过_setNavigationControllerContentInsetAdjustment相关函数实现
示例
- 在一个由TabBarController导出的被Navigation封装的VC中拖一个tableview 铺满VC的View,不会被导航挡住64像素的高度。采用KVO观察
- contentInset的top增加了statusBar高度+NavigationBar高度。buttom增加了TabBar的高度
- contentOffset也跟着调整了-64
隐藏NavigationBar时
- contentInset的top增加了statusBar的高度。buttom增加了TabBar的高度
- contentOffset也跟着调整了-20
总结
- 不管是否加在rootView上,子视图ScrollView都会被调整
- 当ViewController的view hierachy中有ScrollView的时候,subView中index最小的scroView将会被调整。
- 及时原先禁止了scrollView在某个方向的滚动,在view controller调整后,很有可能该方向还是能滚动
示例
view hierachy中有上下两个scrollview,他们都是view1的直接subview
1. 当先把底部的scrollView加入到view1的 subView中时,调整底部scrollView
2. 当先把顶部的scrollView加入到view1的subView中时,调整顶部 scrollView
3. 不管是何种情况,顶部的statusBar都没有被遮挡
VC调整影响scrollview的展示的解决方案
当view hierarchy中有多个scrollView,VC对contentInset的调整影响展示效果时有如下解决方案
1. 设置automaticallyAdjustsScrollViewInsets,禁止VC对contentInset调整
2. 将包含多个scrollView的hierarchy封装在一个scrollView中(姑且称之为containerScrollView)。那么containerScrollView将会被调整,从而保证hierarchy正常显示
相关测试demo
0 0
- VC对ScrollView的调整
- cocos2d-x ScrollView的滑动区调整
- 关于ios7 scrollView的subView的frame不正确的调整
- ScrollView里面嵌套Listview调整listview的高度
- 用VC调整显示器的分辨率
- vc窗口自由调整大小的实现
- VC++禁止调整窗口大小的方法
- 对ScrollView 的getScrollY 的体会
- 对vc++的感想
- listview scrollview 对scrollto 使用的困扰
- ScrollView中对ListView的高度设置
- 打印之前对字体大小调整的处理
- 调整参数对bp网络的影响
- css3对background的调整与增强
- 不让scrollview自动调整scrollview的 inset,在滑动过程中不会发生偏移量的改变
- VC中在SCrollView画图中容易出现的错误
- VC窗口自由的调整大小的实现
- VC对XML的解析
- Edit Distance
- 使用shc加密shell脚本
- 利用系统api 裁剪照片
- 解决eclipse Ctrl +左键查看源代码Source not found的问题
- 磁盘和IO调度知识结构
- VC对ScrollView的调整
- 教你成为全栈工程师
- iOS 百度地图,根据经纬度,显示大头针
- 缺省参数值是静态绑定的
- Git初体验
- 【MFC入门】之一 标准控件在可视化编程中的应用之按钮控件
- java 配置环境
- 设计模式-策略模式
- 文件管理部分知识结构