iphone objective-c ios6 uiscrollview ios7

iphone - por qué UIScrollView está dejando espacio desde arriba en ios 6 y ios 7



objective-c ios6 (6)

Ir al guión gráfico principal. Seleccione ver controlador, consulte la propiedad "Ajustar vista de desplazamiento Insectos" en el inspector de atributos. si no desea el espaciado superior, luego desmarque "Bajo las barras superiores". si no desea el espaciado inferior, desmarque "Debajo de las barras inferiores". este tipo de problema aparece cuando utilizamos controladores relacionados con la vista de desplazamiento.

Esta es una función de navegación y barra de pestañas para ajustar el contenido en la vista de desplazamiento como controles.

Apagué Autolayout y el control de vista está incrustado en el controlador de navegación. Estoy usando Xcode 5, Storyboard.

No entiendo por qué está dejando espacio desde arriba. De hecho, en el guión gráfico he puesto mi etiqueta exactamente debajo de la barra de navegación. Pero cuando lo ejecuto en el simulador, deja espacio desde la parte superior.

Una de las mejores maneras de resolver esto

-(void)viewWillLayoutSubviews { self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800); self.scrollViewMain.contentSize = CGSizeMake(320, 800); }

Pero me estoy perdiendo algo muy simple.


En Xcode 5, en el guión gráfico, seleccione su controlador> en el Inspector de atributos, deshabilite Ajustar los ajustes de la vista de desplazamiento También verifique si ha configurado cualquier contenido.

Editar : adjunté una foto


Inspector: seleccione scrollView y configure Insets de contenido, nunca


La solución es implementar la siguiente línea de código después en viewDidLoad;

self.automaticallyAdjustsScrollViewInsets = NO;


Para mí en xcode 7 y Swift 2.x estaba completando un UIScrollView con un bucle for y tuve que configurar el contentInset en cero.

for image in images { self.scrollView.contentInset = UIEdgeInsetsZero }


Actualización para iOS 11

if #available(iOS 11.0, *) { scrollView.contentInsetAdjustmentBehavior = .never } else { automaticallyAdjustsScrollViewInsets = false }