automaticallyAdjustsScrollViewInsets

iOS7在Conttoller中新增了这个属性:

automaticallyAdjustsScrollViewInsets,当设置为YES时(默认YES),如果视图里面存在唯一一个UIScrollView或其子类View,那么它会自动设置相应的内边距,这样可以让scroll占据整个视图,又不会让导航栏遮盖。

时间: 2024-10-25 10:50:36

automaticallyAdjustsScrollViewInsets的相关文章

[IOS]edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets、、

在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局 就离不开这个属性 edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性, 指定边缘要延伸的方向,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说, 如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域. 因为一般为了不让tableView 不延伸到 navigationBar 下面, 属性设置

iOS开发-automaticallyAdjustsScrollViewInsets属性

最近遇到一个问题是这样的,App一般自己都会有一个UINavigationController,顶部TableView如果有tableHeaderView如果设置起始位置是(0,0)是在导航栏的下面的,为了更好地UI希望从屏幕的(0,0)开始,就遇到了上面的这个问题,简单的看一下效果: 主要代码如下: - (UITableView *)tableView { if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CG

iOS edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解

edgesForExtendedLayout: 在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局,就离不开这个属性 edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域.因为一般为了不让tableView 不延伸到 n

[IOS]edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets

在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局 就离不开这个属性 edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性, 指定边缘要延伸的方向,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说, 如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域. 因为一般为了不让tableView 不延伸到 navigationBar 下面, 属性设置

iOS UIViewController 的automaticallyAdjustsScrollViewInsets属性

在iOS7.0以后,UIViewController添加了automaticallyAdjustsScrollViewInsets,关于此属性的描述看官方文档解释 automaticallyAdjustsScrollViewInsets PropertyA Boolean value that indicates whether the view controller should automatically adjust its scroll view insets. DeclarationS

edgesForExtendedLayout和automaticallyAdjustsScrollViewInsets属性

想必大家都遇到这种情况,设置的y坐标明明为0,但显示的内容还是被导航栏遮住一部分,比如一个简单的tableview,如下图: 大家可以看到第0行和第一行的部分都被遮挡住了,这是因为在ios7 之后,引入了一个新的属性:edgesForExtendedLayout,默认值是UIRectEdgeAll,当你用UINavigationController时,默认的布局就是从状态栏的顶部开始,所以前两行正如看到的那样向上偏移了64像素. @property(nonatomic,assign) UIRec

iOS automaticallyAdjustsScrollViewInsets

self.automaticallyAdjustsScrollViewInsets = NO; //在当前VC内修改这个属性就可以解决这个问题了. 当前以TableView为主View的ViewController,在设置TableView的Inset的时候,会遇到一个问题.(我就被这问题给困住了蛮久的 -_-###) 系统会『很聪明』地为我们调整tableView的inset,但是在你需要完全把控这个属性的时候,它这就是在添乱!!! 参考资料: http://www.2cto.com/kf/2

iOS中的translucent和automaticallyAdjustsScrollViewInsets用法

iOS中的translucent和automaticallyAdjustsScrollViewInsets用法 关于这两个属性我长话短说 具体的可以更具具体情况来设置: translucent用法 automaticallyAdjustsScrollViewInsets用法 translucent用法 iOS7之后由于navigationBar.translucent默认是YES,原点在(0,0)点当设置NO的时候,原点坐标在(0,64)点 // 原点从(0,64)开始 self.navigat

关于edgesForExtendedLayout、translucent、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets等几个属性的详解

在引入了导航控制器UINavigationController和分栏控制器UITabBarController之后,我们在设置控件的frame的时候就需要注意避开导航栏UINavigationBar 44+电源栏UIStatusBar 20的高度,和底部分栏UITabBar 44的高度.底部分栏并没有太多需要处理的,我们只需要在计算高度的时候避开这44就可以了.而导航栏因为包含透明/半透明.第一个控件是否是UIScrollView或其子类等造成frame.origin.y的起点不同.我们现在来分