J'ai une page sur mon application iOS, basée sur le diagramme suivant, qui est la suivante.iOS modifie la mise en page par programmation
- boîte gris foncé = navbar
- boîte gris clair = UIView (pour la présentation, avec quelques belles dropshadow etc)
- Bordure noire = UIView (encore une fois, avec l'ombre agréable, couleur de fond différente, etc.)
- 2 champs de texte
- Boîte rose = autre vue à afficher après un événement.
Actuellement, je pose à tout avec initWithFrame, et définissant explicitement le cadre de chaque élément, que je sais est probablement pas grand (je suis nouveau au développement ios, donc s'il vous plaît signaler moi dans la bonne direction). Ce que j'essaye de réaliser est que quand un texte est entré dans le 2ème champ de texte la boîte rose pour indiquer, et les superviews pour répondre correctement, et la disposition joliment autour du nouveau champ.
Je n'ai aucun problème avec l'événement lui-même, et je pourrais facilement changer la frame de chaque UIView à son tour, mais je pense que c'est faux, et j'adorerais quelques pointeurs. Je voudrais également que la boîte rose s'anime, et donc les vues contenant à animer avec elle.
J'espère que je me suis expliqué à fond. Mille mercis
Avez-vous lu [Afficher le guide de programmation pour iOS] (http://developer.apple.com/library/ios/#documentation/windowsviews/conceptual/viewpg_iphoneos/CreatingViews/CreatingViews.html)? L'approche la plus récente est «Gérer les changements de mise en page en utilisant automatiquement les règles d'autosurveillance» et l'universel est «Ajuster manuellement la mise en page de vos vues». –
vous devez implémenter layoutSubviews dans votre sous-classe UIView et définir les cadres de vue là – Felix
Merci @ A-Live, ce document a vraiment aidé. Je l'ai trié avec autoresizesSubviews = YES! – Leon