让控制器的view顶到屏幕最上方,也就是状态栏底下

这句代码可以吧view顶到状态栏里面 贴在屏幕最上方


这句代码还会吧view顶到最下方,所以如果项目中是用tabBarController开发的时候

tableview下方总显示不完全,用代码设置偏移量也没用;

官方文档解释如下:

A Boolean value that indicates whether the view controller should automatically adjust its scroll view insets.

Declaration

SWIFT

var automaticallyAdjustsScrollViewInsets: Bool

OBJECTIVE-C

@property(nonatomic, assign) BOOL automaticallyAdjustsScrollViewInsets

Discussion

The default value of this property is YES, which allows the view controller to adjust its scroll view insets in response to the screen areas consumed by the status bar, navigation bar, and toolbar or tab bar. Set to NO if you want to manage scroll view inset adjustments yourself, such as when there is more than one scroll view in the view hierarchy.

Availability

Available in iOS 7.0 and later.

简单点说就是automaticallyAdjustsScrollViewInsets根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整scrollview的 inset,设置为no,不让viewController调整,

所以为了避免出现的问题 可以自己手动设置contentInset 也能达到一样的效果;

时间: 2024-12-09 14:55:58

让控制器的view顶到屏幕最上方,也就是状态栏底下的相关文章

iOS 7:用代码解决视图控制器的View整体上移问题

如果你准备将你的老的 iOS 6 app 迁移到 iOS 7 上,那么你必须注意了.当你的老的 app 在 iOS 7 设备上运行时,所有ViewController 的视图都整体上移了,因为 iOS 7 把整个屏幕高度(包括状态栏和导航栏)都作为了视图控制器的有效高度.于是你的视图上移了,并和上层的状态栏交叠在一起. 你当然可以在 Xcode 中修改每个 View,将他们下移20个像素(状态栏高度)或者64个像素(状态栏+导航栏高度). 但是苹果显然已经考虑到这个问题,他们在 iOS 7 SD

Swift - iOS中各种视图控制器(View Controller)的介绍

在iOS中,不同的视图控制器负责不同的功能,采用不同的风格向用户呈现信息.下面对各个视图控制器做个总结: 1,标准视图控制器 - View Controller 这个控制器只是用来呈现内容.通常会用来作为子类,以向屏幕中添加逻辑. 2,导航控制器 - Navigation Controller 这个控制器呈现一个视图控制器的栈,应用程序可以在上面推入更多的视图控制器. 当新视图推入栈,或旧视图弹出栈时,导航控制器会以动画的形式(比如卷动)显示隐藏这些视图. 使用样例:系统“设置”应用程序 3,表

iOS_26_彩票_控制器的view的适配

iOS 7的控制器默认都是全屏的 如图所示: 程序入口是一个导航控制器, 导航控制器的根控制器是一个TabBarController, 因此,状态栏+导航栏会盖住TabBarController控制器的上面64的高度 TabBarController的子控制器是一个TableViewController, 因此,TabBarController的TabBar会盖住TableViewController的下部分49的高度, 因此,TableViewController的数据不能像iOS6那样正常地

控制器的view的加载优先级

拿到控制器后,控制器的view是在什么时候按照什么优先级创建加载的? 1.控制器内部的view是延迟加载 1> 用到时再加载(loadView) 2> 加载完毕后会调用控制器的viewDidLoad方法 也就是说,控制器的view在第一次加载的时候会调用控制器的loadView 方法,需要自定义view的救灾该方法中完成: 如果没有实现loadView方法,那么就会看该控制器是不是通过storyboard创建的,如果是就加载对应storyboard中的view: 如果不是通过加载storybo

IOS UI-控制器的创建和控制器的View的创建

一.控制器的创建和控制器的View的创建 说明:控制器有三种创建方式,下面一一进行说明. 一.第一种创建方式(使用代码直接创建) 1.创建一个空的IOS项目. 2.为项目添加一个控制器类. 3.直接在代理方法中创建一个控制器. 1 #import "YYAppDelegate.h" 2 #import "YYViewController.h" 3 4 @implementation YYAppDelegate 5 6 - (BOOL)application:(UIA

IOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用

一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; // 返回第component有多少行 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;

往一个控制器的View添加另一个控制器的View出现的异常

往一个控制的view上添加另一个控制器的View,(由于layout缘故)可能视图会发生异常,出现伸缩(被添加视图的view变小,或者变大),所以应该设置被添加控制器的View的属性,让他不随父控件的变化而变化, 被添加控制器.view.autoresizingMask = UIViewAutoresizingNone; 往一个控制器的View添加另一个控制器的View出现的异常,布布扣,bubuko.com

iOS开发UI篇—控制器的View的创建

iOS开发UI篇—控制器的View的创建 一.6种创建控制器View的方式 1 #import "NJAppDelegate.h" 2 #import "NJViewController.h" 3 /* 4 1.没有同名xib情况下 5 2.通过 storyboard 创建 6 3.有指定xib情况下创建 7 4.有同名xib情况 8 5.有同名去掉controll的情况 9 6.loadveiw 10 */ 11 @implementation NJAppDele

被导航控制器包装的控制器的View的y值问题

最近一直在纠结问题,为什么有时候被导航控制器包装的控制器的View的y值有时候是64,有时候是0,觉得很奇怪,于是研究了一下,发现有个属性可以改变View的y值,那就是translucent(属于导航栏的)这个属性可以设置y值,这个属性的作用是用来设置导航栏是否半透明,默认值为Yes(半透明效果),为NO则不透明,下图展示了一下Yes和No的区别: 要想禁用translucent属性,可以在Storyboard中选中导航栏,然后在Attribute Inspectors中,取消transluce