Ma tâche est de permettre le défilement du paysage. Le design est pour le portrait. Je suis venu avec une idée pour ajouter un ScrollView aux composants, ou dans "Embed in Scroll View" dans Interface Builder. Je m'attendais à ce que cela fonctionne, mais non. J'utilise Xcode 4.4, iOS 5.1, (le projet de bureau a besoin du support pour 4.2 aussi), mais le problème est le même.
Dans la question de débordement de pile iPhone SDK: UIScrollView does not scroll Il y a une ligne qui résout un problème.
Autre essai est Stack Overflow question iOS - UIScrollView is not working (it doesn't scroll at all - the image stays fixed), et cela m'a aidé, combinée à d'autres, alors voici ma Portait-à-scrollable code paysage:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromOrientation
{
if(UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])){
scrollView.contentSize = portaitScrollSize;
}
else{//statusbar is Landscape
scrollView.contentSize = landscapeScrollSize;
}
}
Le ScrollView dans lié à un iVar vue dans Interface Builder. portaitScrollSize
et landscapeScrollSize
sont des variables privées. Ils sont initialisés et ne changent pas. Dans my.h
fichier:
IBOutlet UIScrollView *scrollView;
Dans le fichier my.m
:
CGSize portaitScrollSize, landscapeScrollSize;
...
portaitScrollSize = CGSizeMake(320,440);
landscapeScrollSize = CGSizeMake(480,480);
J'espère que cela aidera quelqu'un d'ajouter une fonction de défilement + rotation à une conception Portait .
Ne pas oublier de laisser Portait + paysage sur l'élément supérieur :
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return TRUE;
}
ayant la même question. .., avez-vous réussi à résoudre le problème? – negersiu
@ Maciulis..Que exactement j'ai été fait à ce moment ... mais je vérifie le code .. et je n'utilise pas la méthode scrollViewDidScroll et en utilisant scrollViewDidEndDecelerating .. et d'utiliser une variable globale pour le numéro de page en cours .. espérons que ce sera vous aider ou dites-moi exactement ce que vous voulez –