2013-01-31 5 views
0

Dans le délégué de l'application, j'utilise [[UIScreen mainScreen] bounds] (qui est par défaut) pour définir le cadre de la fenêtre. Mais lorsque j'essaie de lancer l'application, je vois un espace vide entre ma vue et la barre d'état. enter image description hereEspace vide sous la barre d'état

Si je mets le cadre de cette façon

CGRect bounds = [[UIScreen mainScreen] bounds]; 
self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0.0, -20.0, bounds.size.width, bounds.size.height)]; 

Ce sera ok, mais il ne détecte pas les robinets sur les 20 derniers points de l'écran.

Quel est le problème ici? S'il vous plaît aider.

P.S. Je n'utilise pas IB, ne pas définir de cadre pour une vue autre que la fenêtre (parce que cela n'aide pas).

+0

Comment votre masque d'autoresizing est-il réglé? – Sulthan

+0

Pour la fenêtre? Je ne l'ai pas mis. – Randex

+1

Masque d'autosurveillance pour le contrôleur de vue racine. Vous devriez probablement "NSLog" toutes les dimensions d'abord afin que vous puissiez voir si le problème est dans les limites de la fenêtre ou les limites du contrôleur. – Sulthan

Répondre

2

Résolu en définissant la propriété wantsFullScreenLayout du contrôleur de vue racine sur YES.

P.S. Ce n'est pas ma première application où j'écris application:didFinishLaunchingWithOptions: à partir de zéro, mais je n'ai jamais eu ce problème ...