web-dev-qa-db-fra.com

pourquoi UIScrollView laisse de l'espace par le haut dans ios 6 et ios 7

enter image description here

enter image description here

J'ai désactivé Autolayout et viewcontroller est intégré dans le contrôleur de navigation. J'utilise Xcode 5, Storyboard.

Je ne comprends pas pourquoi cela laisse de l'espace par le haut. En fait, dans le storyboard, j'ai mis mon étiquette exactement en dessous de la barre de navigation. Mais quand je l'exécute sur le simulateur, il laisse de l'espace par le haut.

L'un des moyens hacky de résoudre ce problème

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

   self.scrollViewMain.contentSize = CGSizeMake(320, 800);
}

Mais je manque quelque chose d'approche très simple.

65
bhavya kothari

Dans Xcode 5, dans le storyboard, sélectionnez votre contrôleur> dans l'inspecteur d'attributs désactivez Ajuster les encarts de la vue de défilement Vérifiez également si vous avez défini un contenu

Edit : J'ai joint une photo

enter image description here

156
Raheel Sadiq

Le correctif consiste à implémenter la ligne de code suivante après dans le viewDidLoad;

self.automaticallyAdjustsScrollViewInsets = NO;

82
Anooj VM

Mise à jour pour iOS 11

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

Accédez au storyboard principal. Sélectionnez le contrôleur de vue, voir la propriété "Ajuster les insectes de la vue de défilement" dans l'inspecteur d'attributs. si vous ne voulez pas d'espacement supérieur. décochez ensuite "Sous les barres supérieures". si vous ne voulez pas d'espacement inférieur, décochez ensuite "Sous les barres inférieures". ce genre de problème survient lorsque nous utilisons des contrôleurs liés à la vue de défilement.

Il s'agit d'une fonction de navigation et d'une barre d'onglets pour ajuster le contenu en mode défilement comme les commandes.

8
Ravi Kumar

Inspecteur: sélectionnez scrollView et configurez les encarts de contenu - jamais

enter image description here

7
Svitlana

Pour moi, dans xcode 7 et Swift 2.x, je remplissais un UIScrollView avec une boucle for et j'ai dû mettre le contentInset à zéro.

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