Thursday 9 March 2017

Borduresd'Environnement Étendu Uiviewcontroller Initwithnib

Il y a quelques nouvelles propriétés dans iOS7 pour contrôler ces paramètres. EdgeForExtendedLayout indique quels bords doivent être étendus (gauche, droite, haut, bas, tous, aucun ou une combinaison de ceux-ci). Extension du bord inférieur égale Sous barre inférieure Barre, le bord supérieur s'étendant est égale Sous les barres supérieures cochez. ExtendedLayoutIncludesOpaqueBars indique si les arêtes doivent être automatiquement étendues sous les barres opaques. Donc, si vous combinez ces deux paramètres, vous pouvez imiter toute combinaison de ticks du générateur d'interface dans votre code. J'ai eu un projet qui a été construit l'année dernière, et il utilise XIBs, pas de storyboards. Les XIBs n'utilisent pas la mise en page automatique, mais ils utilisent certains Autosizing. J'ai un problème lors de l'exécution avec iOS7, dans lequel toutes les vues sont cachées sous la barre d'état. Je comprends parfaitement qu'il s'agit d'une nouvelle fonctionnalité avec iOS7, dans lequel cela peut être attendu. Cependant, toutes les solutions pour la fixation de ne pas faire cela ne fonctionnent pas. J'ai une image en haut de la vue qui s'affiche toujours sous la barre d'état, et je n'utilise pas nav-bars ou quelque chose comme ça. J'ai essayé de mettre à jour les Y-deltas dans le XIB (ils n'ont aucun effet sur la vue), j'ai essayé de placer le edgeForExtendedLayout à UIRectEdgeNone (ne fait rien), et une multitude d'autres choses. Chaque fois, la barre d'état s'affiche avec la vue cachée dessous, peu importe ce que je fais. C'est à moins que je déplace manuellement vers le bas de la vue dans le XIB pour laisser place à la barre d'état (mais cette solution ne fonctionne pas parce qu'il ne regarde pas bien dans iOS6, bien sûr). Ce qui est étrange, c'est que même quand j'essaie une ligne de code pour pirater dans un changement de vue, il ne fonctionne pas (comme le suivant): Non pas que j'irais avec ce genre de solution, mais c'est juste curieux qu'il ne fonctionne pas Seul temps, je vois généralement que le travail n'est pas si la mise en page automatique est en place, ce qui n'est pas dans ce cas). Il s'agit d'une exigence de conception que la barre d'état montre, et Im just stumped sur pourquoi je ne peux pas définir la vue d'être sous la barre d'état pour iOS7. J'ai lu tous les messages de Stack Overflow sur le sujet, ainsi que les guides de transition de Apple. Encore une fois, je le répète, je comprends très bien comment il devrait fonctionner et quelle devrait être la solution attendue, mais rien ne semble fonctionner pour ce projet particulier. Je suis un expérimenté iOS dev, mais ce projet a été construit par une autre équipe, donc je ne sais pas si theres quelque chose caché quelque part dans les fichiers XIB, plist, ou le code qui pourrait trumping les paramètres ci-dessus. S'il vous plaît laissez-moi savoir s'il ya autre chose qui peut être examiné à ce sujet, ou plus d'informations que je peux fournir. Merci d'avance demandé Sep 24 13 à 19:21 Apple vous poussent à utiliser autolayout pour accomplir cela. Vous devez définir une contrainte dans le Top Layout Guide de la sous-vue supérieure dans votre vue. Reportez-vous à ce document pour des exemples: Pour ce faire, sans XIB, vous devez ajouter la contrainte par programme. Les pommes donnent un bon exemple de ceci, que j'ai résumé ci-dessous. Donner que topLayoutGuide est une propriété sur un contrôleur de vue, il suffit de l'utiliser dans votre dictionnaire de liaisons variables. Ensuite, vous configurez votre contrainte comme normale:


No comments:

Post a Comment