iOS开发 ☞ 关于带系统导航栏坐标的问题
来源:互联网 发布:2014matlab中对角矩阵 编辑:程序博客网 时间:2024/06/08 04:20
原文链接:http://blog.csdn.net/magiczyj/article/details/50680242
在实际编程中,特别是iOS7以后,当我们使用系统自带的UINavigationController时,很容易弄不清楚此时的变成原点在哪里,下面详细的说一下。
如果你的导航栏设置了背景图片,我猜想苹果默认会帮你布局,也就是说编程的原点在导航栏下面的左上角。
效果如下:
下面是代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
结论:如果导航栏设置了背景图片,那么编程原点就在导航栏的下面。
在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
如果没有设置背景图片也想有同样的效果,需要在控制器中添加如下代码:
- 1
- 2
- 3
综上,如果想要编程的原点在导航栏下,不妨在BaseViewController中添加上面这句话。
因为iOS7鼓励全屏布局,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域,但是如果导航控制器拥有背景图片(并且透明度为1),视图自然不能延伸到最顶部。
阅读全文
0 0
- iOS开发 ☞ 关于带系统导航栏坐标的问题
- iOS开发 ☞ 关于带系统导航栏坐标的问题
- 关于ios7以后带导航的界面的坐标问题
- iOS开发有关导航条坐标问题
- 关于iOS开发中隐藏导航栏的问题
- iOS开发中带导航控制器的屏幕旋转问题
- IOS开发笔记 - 关于导航标题栏的颜色问题
- iOS设置translucent引发的导航栏色差和坐标问题
- iOS设置translucent引发的导航栏色差和坐标问题
- iOS开发中关于导航栏的一些设置
- 系统自带导航栏的注意事项
- iOS 关于滑动返回隐藏导航栏的问题
- iOS关于导航设置的问题
- iOS中如何修改系统自带的导航栏的颜色
- IOS的坐标系统
- iOS开发之导航栏titleView不居中的问题
- IOS 改变系统导航栏自带的返回action事件
- ios 关于navigationController导航栏隐藏问题
- EmptyRecyclerView 数据为空时显示指定view
- select动态添加option与动态设置下拉框默认选项(selected)的问题(原创)
- Genymotion配置和安装
- IP协议的主要特点与格式
- 20170929在stm32f103zet6 RTT上扩展外部SRAM
- iOS开发 ☞ 关于带系统导航栏坐标的问题
- 20行代码能干嘛?
- Android中建造者(builder)模式
- Redis中RDB持久化
- Android SurfaceFligner Vsync信号 Jni/C++调用实现
- OplogThread: Last entry no longer in oplog cannot recover!
- 堆排序算法的实现(HeapSort)
- 转-C++快速入门
- scrapy爬虫的暂停与重启