2009-12-13 6 views
0

La conception de mon application nécessite la même fonctionnalité de défilement que celle trouvée dans l'application Photos natives de l'iPhone lorsque vous parcourez des photos en plein écran. Plus précisément:UIScrollView ne autorotera pas

  • Chaque vue se mette en place que la vue est glissée
  • Scrolling arrive dans une seule direction
  • La rotation de l'iPhone tourne la région de défilement ensemble et de sorte que le cadre de chaque sous-vue (photos, dans le cas d'Apple) tourne en place et pagination est toujours dans la même direction (de gauche à droite-)

j'ai commencé à utiliser Apple sample PageControl code comme point de départ, et tout allait swimmi jusqu'à ce que j'ai tenté d'ajouter une autorotation au code. Mon sens de la documentation est que tout ce que je devais faire pour travailler autorotation était d'ajouter à MyViewController.m

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
return YES; 
} 

du code exemple Bien que cela ne semble causer des arrière-plans des sous-vues à tourner, la UILabels et l'UIScrollView qui l'entoure restent fixes de sorte que, du point de vue de l'utilisateur, la pagination à travers les vues nécessite maintenant un effleurement haut/bas au lieu de gauche/droite.

Répondre

1

Sur un coup de tête, j'ai lu le post de stackoverflow intitulé "UIButtons ne répondent pas au toucher après le cadre défini sur autorotate ". Il lie à l'article de blog ci-dessous qui inclut le code fonctionnant qui manipule toutes les transformations complexes que l'échantillon d'Apple n'inclut pas.

Aide à Björn Sållarp pour avoir rendu cette solution disponible gratuitement!

http://blog.sallarp.com/shouldautorotatetointerfaceorientation/

0

Pour les débutants, vous devez aller jouer avec les masques d'autoresizing sur le contrôle de page et scrollview (dans cet exemple). Je suis encore en train d'explorer l'échantillon pour voir ce qui est nécessaire. Peut-être avoir plus d'informations dans un peu, si quelqu'un d'autre ne fournit pas la solution définitive avant ...

+0

Merci pour les commentaires, wkw. J'étudie en utilisant setAutoresizingMask et setAutoresizesSubviews, mais jusqu'ici n'a pas produit de changement. Je pense que j'ai besoin d'une compréhension beaucoup plus claire de la hiérarchie des vues dans ce projet. Je vais regarder de plus près. – clozach

Questions connexes