2011-05-25 1 views
1

J'ai une page simple avec une barre de navigation en haut, une barre d'onglets en bas et une barre de défilement remplissant l'espace entre les deux. Le scrollview contient une étiquette et une image et un texte non-scrollable qui est dynamiquement rempli de texte et dimensionné de manière appropriée. J'ai essayé de le faire fonctionner dans le paysage en utilisant:Redraw scrollView et son contenu pour l'orientation paysage

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
{ 
    if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) 
    { 
     NSLog(@"called"); 
     navBar.frame = CGRectMake(0, 0, 480, 32); 
     sview.frame = CGRectMake(0, 32, 480, 240); 
    } 
    else { 
     navBar.frame = CGRectMake(0, 0, 320, 44); 
     sview.frame = CGRectMake(0, 44, 320, 372); 

    } 

} 

Cela me fait très proche de la barre de navigation et ScrollView redimensionne correctement et il défile bien, mais le contenu dans le scrollview est vers la gauche . Comment redessiner le contenu pour l'aligner correctement dans le scrollview?

+0

Avez-vous essayé de définir le message d'erreur automatique? –

+0

Je ne suis pas sûr de savoir comment une méthode comme celle ci-dessus, et les masques d'auto-réparation fonctionnent ensemble. Je me sens comme quand je commence à redessiner des choses avec cette méthode, les masques cessent de s'appliquer, mais je suis assez nouveau à toute cette affaire. Est-ce que je changerais les masques des sous-vues ou du scrollview? – Ryan

Répondre

1

Nick a fourni la bonne réponse dans son commentaire. Je devais juste changer les autoresizemasks des articles dans le scrollview. J'ai fait:

pic.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth; 

pour chaque élément de la méthode viewDidLoad.

Questions connexes