Sur l'iPhone, lorsque vous ajoutez manuellement une sous-vue à la vue de la fenêtre, dois-je comptabiliser moi-même le 20px de la barre d'état supérieure? C'est, dois-je créer des vues avec un ensemble de cadre à (0, 20, 320, 460):Sur l'iPhone, dois-je comptabiliser le 20px de la barre d'état supérieure?
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
[window addSubview:myView];
Si oui, y at-il des directives officielles relatives à cela? Je suis juste coincé dessus, et après quelques expériences, il semble que ce soit effectivement le cas. Cela impliquerait que lorsqu'une vue est créée à partir d'un fichier nib, elle est toujours décalée silencieusement de 20 pixels, car lorsque l'on utilise Interface Builder, la hauteur de vue est déjà fixée à 460px et lorsque la vue est ajoutée à la fenêtre, elle est déjà correctement positionné.
D'autre part, cela semble un peu maladroit et myope. Pourquoi Apple durcirait-il les 20 pixels et ferait-il la compensation magique? Pourquoi devrais-je, en tant que programmeur, besoin de savoir et d'assumer quoi que ce soit à propos de la barre d'état? Pourquoi la fenêtre n'est-elle pas déjà décalée par elle-même? Est-ce une limitation/problème connu? Ou a-t-il une raison?
Sujet similaire: http://stackoverflow.com/questions/1114557/resize-for-in-call-status-bar/1114596#1114596 – user123444555621