2015-03-28 3 views
0

Je reçois un patch noir partiellement à l'écran. C'est un UIView et cela se produit uniquement lorsque l'appareil est en mode paysage. En portrait, ça marche bien.Redimensionner UIView dans iOS

capture d'écran réelle sur iPad 2: (Vérifiez le patch noir) enter image description here

Voici mon avis Hiérarchie dans Xcode: (S'il vous plaît vérifier le UIView a souligné Il est celui qui est pas complètement étiré au. Etre un débutant dans le développement iOS, je ne suis pas sûr de savoir où se passe-t-il mal. Serait-ce à cause de mauvaises dimensions de self.view?

Voilà comment je suis la définition self.view

CGRect deviceDimensions = [[UIScreen mainScreen] applicationFrame]; 
self.view = [[UIView alloc] initWithFrame:deviceDimensions]; 

J'ai essayé définissant explicitement la largeur (juste pour le débogage) comme suit:

CGRect deviceDimensions = [[UIScreen mainScreen] applicationFrame]; 
deviceDimensions.size.width = 768; 
self.view = [[UIView alloc] initWithFrame:deviceDimensions]; 

mais sa montrant même.

Appareil: iPad 2 - Taille de l'écran: 1024x768 iOS 8.2 Xcode v6.2

Merci.

Répondre

0

Disposition automatique. C'est une bête d'un outil, mais cela prend quelques minutes pour obtenir les bases. Sélectionnez la vue dans IB, et ajouter des contraintes de hauteur et de largeur à votre point de vue, comme ceci: enter image description here

Si vous préférez le code, jetez un oeil à la propriété autoresizingMask:

-(BOOL)shouldAutorotate 
{ 
    UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]; 
    if (orientation != UIInterfaceLandscape) { 
[view.superview setAutoresizesSubviews:YES]; 
    return YES; 
    } 
}