automaticallyAdjustsScrollViewInsets

automaticallyAdjustsScrollViewInsets的作用是默认情况下,它可以保证滚动视图的内容自动偏移,不会被UINavigationBar与UITabBar遮挡。

UINavigationBar与UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的UI布局进行优化:当视图控制器里面【第一个】被添加进去的视图是UIScrollView或其子类时,系统会自动调整其内边距属性contentInset,以保证滑动视图里的内容不被UINavigationBar与UITabBar遮挡

(一)、automaticallyAdjustsScrollViewInsets为YES时(即默认情况):

(A).UINavigationBar与UITabBar的translucent属性为YES(也即默认情况下)

总结:设置automaticallyAdjustsScrollViewInsets为NO时,滚动视图被视为普通的view,其内容会不会被UINavigationBar与UITabBar所遮挡取决于UINavigationBar与UITabBar是否半透明:半透明:会被遮挡;不透明,不会被遮挡。(UITableView例外,无论如何,其内容都不会遮挡)

automaticallyAdjustsScrollViewInsets的设置只对滚动视图有效,对普通的view无效;对普通view而言,UINavigationBar与UITabBar半透明:会被遮挡;不透明,不会被遮挡。如果两个都是默认情况下,则滚动视图的内容不会被遮挡,普通的view会被遮挡,这是最常见的情况。

edgesForExtendedLayout:边缘延伸属性,默认为UIRectEdgeAll。它也是视图控制器的布局属性,默认值是UIRectEdgeAll,即:当前视图控制器里各种UI控件【本身】(而非内容)会忽略导航栏和标签的存在,布局时若设置其原点设置为(0,0),视图会延伸显示到导航栏的下面被覆盖;其值为UIRectEdgeNone意味着子控件本身会自动躲避导航栏和标签栏,以免被遮挡。

学习笔记,方便记忆!

你可能感兴趣的:(automaticallyAdjustsScrollViewInsets)