iPhone + CGAffineTransFormRotate(pi/2) + statusBarHidden:OUI + presentModalViewController = 20 pixels de l'espace blanc

Je pense que le titre est assez descriptif:

J'ai effectuer tous les 3 de ces opérations sur la vue, le résultat est de 20 pixels de l'espace blanc sur le côté gauche de l'écran (si l'iPhone est landscapeLeft).

J'ai essayé d'y remédier en effectuant une CGAffineTransFormTranslate(transformer, -20, 0)

Qui vient de "slides" de la vue de dessous de l'espace.

C'est de commencer à se sentir comme un bug, quelqu'un d'autre a ce problème?

Pour être clair, je ne suis pas la rotation de tout point de vue. Je suis détection de l'orientation de l'appareil:

[[UIDevice currentDevice] orientation]

Et si l'appareil (pas l'interface) est, dans le paysage, puis:

[navigationController presentModalViewController:NewView animated:NO]

La transformation est de faire tourner mon point de vue (créé en IB) pour le paysage, avant de l'afficher.

Transformer mon code:

    CGRect myFrame = CGRectMake(0, 0, 480, 320);
    CGAffineTransform transform = [[self.myPeriodicTableViewController view] transform];
    transform = CGAffineTransformRotate(transform, degreesToRadians(rotationDirection * 90));
    transform =  CGAffineTransformTranslate(transform, -20, 0);
    [[self.myPeriodicTableViewController view] setFrame: myFrame];
    CGPoint center = CGPointMake(myFrame.size.height/2.0, myFrame.size.width/2.0);
    [[self.myPeriodicTableViewController view] setTransform: transform];
    [[self.myPeriodicTableViewController view] setCenter: center];

OriginalL'auteur Corey Floyd | 2009-02-19