2010-10-26 16 views
1

J'ai un UIScrollView plein écran qui a plusieurs configurations de mise en page possibles. Il s'agit essentiellement d'une carte "contact" avec quelques boutons, images, étiquettes et champs de texte. Quand il se charge, les boutons seront déplacés ou supprimés en fonction du contenu disponible.UIScrollView se déplace seul

Bizarrement, la Scorll View ne commence pas toujours dans la même position. Parfois, il charge avec le haut en vue, d'autres fois le fond ou tous les points entre les deux. Cela semble aléatoire. J'ai 2 contacts qui déclenchent exactement la même mise en page complète, mais la vue de défilement commence différemment pour les deux. De plus, chaque contact agit de la même manière, le même contact place la vue de défilement dans la même position.

Quelqu'un sait par où commencer? Je voudrais que la vue de défilement commence toujours au début.

Répondre

0

Définissez le décalage du contenu de scrollView après avoir ajouté des objets.

[setContentOffset: CGPointMake (0,0) animé: NO]

+0

Merci de m'indiquer la bonne direction ... :) [scrollView setContentOffset: CGPointMake (0,0) animé: NO]; – TheHockeyGeek

0

Cela me passe beaucoup. C'était déroutant, et nous l'avons réduit à une fonction qui change un UITextView. Quoi qu'il en soit, UIKit: UIScrollView automatically scrolling when a subview increases its width past the edge of the screen

UITextViews à l'intérieur des vues modales (scrollers) implémentent un comportement similaire. J'ai donc affiné un peu ma recherche et trouvé cette réponse. Maintenant, pour envoyer un e-mail à Apple et demandez à ses développeurs pourquoi il ne vérifie pas s'il s'agit d'un modal, ou si un utilisateur appuie sur l'UITextView avant de décider de le faire défiler seul avec un appel privé. Band-Aids «spécial case» (à partir de iOS 5.1)