UIScrollView ne défile pas?
J'ai un UIScrollView
créé dans interface builder avec un tas de UITextView
et UIImageView
objets déjà ajouté. Je l'ai connecté à un IBOutlet
et en vertu de -(void)viewDidLoad
je l'ensemble de son contenu à la taille de 1200x2000
. Interaction de l'utilisateur est Activée, le Multitouch, le Défilement est Activé et montre défilement verticale et horizontale, les indicateurs sont tous mis à YES
. Lorsque je lance l'application dans le simulateur iOS, il n'a pas de défilement. Ce qui pourrait éventuellement être la cause de ce comportement?
source d'informationauteur 68cherries | 2013-11-04
Vous devez vous connecter pour publier un commentaire.
viewDidLoad est pour bientôt. Vous devez attendre jusqu'à ce que après la présentation des points de vue a eu lieu. Essayez de définir le contentSize dans viewDidAppear.
Êtes-vous à l'aide de mise en page automatique? Si oui, découvrez la réponse suivante (et oublier 1.):
UIScrollView n'utilise pas les contraintes de mise en page automatique.
La meilleure façon que je sais comment résoudre ce problème sans avoir recours à l'écriture de code, c'est que tout peut être fait à l'intérieur d'un storyboard, et voici comment:
viewDidLoad
est en effet trop tôt, maisviewDidAppear:animated
pourrait ne pas être en retard suffisant. Un endroit idéal pour lacontentOffset
est à l'intérieur deviewDidLayoutSubviews
.Si vous utilisez la mise en forme automatique, assurez-vous de mettre le code pour définir la taille du Contenu à l'intérieur de
J'utilise un affichage personnalisé sur le UIScrollView, pour tirer à l'actualisation de la fonction, et le défilement de la vue n'est pas déplacé. J'essaie de définir
contentSize
avecAutoLayout
et essayer de le régler par des codes trop. Le défilement de l'affichage ne peut pas défiler.Après avoir passé 3 ~ 4 heures, je le résoudre par
contentInset
. Il vous dira de défilement en vue d'ajouter un peu d'espace supplémentaire pour le défilement.Référence docs: