您的位置:首页 > 移动开发 > IOS开发

navigationBar对视图布局的影响,今天终于弄清楚了

2017-03-25 17:22 423 查看
1、如果navigationBar.translucent = NO navigationBar设置为不透明的话,为了不遮挡view
坐标轴是以navigationBar下面为坐标原点的
而下面这两个参数都会失效。
// self.automaticallyAdjustsScrollViewInsets = NO;
// self.edgesForExtendedLayout = UIRectEdgeNone;

2、navigationBar.translucent= yes
设置半透明的情况下

@1、设置 self.edgesForExtendedLayout = UIRectEdgeNone;的情况下
self.automaticallyAdjustsScrollViewInsets = NO;
是没什么效果的
所有的视图包括(view类
和 scrollview的view类)坐标轴是以navigationBar下面为坐标原点的
视图能显示的高度是屏幕的高-navigationBar的高度(64)
@2、
@@1、
设置self.edgesForExtendedLayout为默认的情况下
坐标系都会self.view的0,0处为坐标原点。
非scrollView的视图View设置frame为(0,0,200,200)就会被navigationBar遮挡住一部分。
scrollView的视图View则会受self.automaticallyAdjustsScrollViewInsets的影响不被遮住。scrollView视图中的子视图WrapperView的y
值会向下移动64的高度 cell
作为WrapperView的子视图也会整体下移。如图:





@@2、设置self.automaticallyAdjustsScrollViewInsets = no
的时候 消除了navigationBar对scrollview视图view的影响
坐标轴是self.view的
原点0,0开始的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息