2010-08-24 11 views
0

J'ai un .nib file créé dans Interface Builder avec 1 élément UIView, mais lorsque je l'initialise par programmation, la vue ne couvre pas tout l'écran, laissant une petite partie de la vue au-dessous visible.Redimensionnement de l'affichage lors du chargement d'un fichier .nib

Il semble que la coordonnée Y soit à une position négative au lieu de 0. Je n'ai pas de barre de navigation configurée pour la vue, mais si je devais la définir, la barre ne s'affichera pas.

Je crée le point de vue comme celui-ci à l'intérieur de la classe appDelegate:

MyCustomController *controller = [[MyCustomController alloc] initWithNibName:@"MyCustomView" bundle:nil]; 
[window addSubview:[controller view]];  

Paramètres dans Interface Builder pour la vue:

Orientation: Portrait 
Status Bar: Gray 
Top Bar: unspecified 
Bottom Bar: unspecified 
View mode: "Scale To Fill" 

View Size/Position: Set to "Layout" and the X/Y, Width/Height are readonly with 0,0,320,460 

J'ai imprimé sur le cadre de la vue et [[ UIScreen mainScreen] limites] sur 'viewWillAppear':

view.frame on viewWillAppear - x: 0.0, 0.0, 320.0, 460.0 
bounds - x: 0.0, 0.0, 320.0, 480.0 

Je ne sais pas pourquoi la vue est ge tting shifted - quel est le meilleur endroit pour lire juste la taille de l'image une fois que la vue est chargée par la méthode 'initWithNibName'? Cela semble être la solution de contournement que je peux penser.

+0

La barre d'état est 20px – thelaws

+0

La barre d'état est affichée et n'essaie pas de la masquer. La vue sous mon sommet est un UITabBarController et je peux voir environ 90% des boutons de la barre d'onglets. –

Répondre

0

J'ai enveloppé mon contrôleur avec un UINavigationController et le problème est parti.

Questions connexes