Question

J'essaie de reproduire le " Edit Details " d'Apple fonctionnalité, où une UITableView groupée est affichée avec 1 ligne, et la cellule entière est une grande UITextView. Pour un exemple, accédez à l'application Contacts, modifiez un contact et ajoutez un champ Note. C'est ce que je vais faire.

Le problème que je rencontre est la rotation du téléphone. La première fois que vous faites pivoter (portrait - & paysage), tout va bien. Mais lorsque vous revenez en arrière, la table disparaît. Je ne sais pas pourquoi et je me cogne la tête contre le mur pour trouver une solution. Cela fait littéralement quelques jours que je travaille dessus, sans résultat.

La première méthode que j'ai essayée a été d'implémenter tableView: heightForRowAtIndexPath, en renvoyant des hauteurs différentes en fonction du type de paysage.

Une autre implémentation que j'ai essayée était d'avoir 2 vues complètement séparées dans le contrôleur:
    UIView * landscape;
    UIView * portrait;
et en les commutant dans willAnimateRotationToInterfaceOrientation. Pas de dés là non plus.

J'ai également essayé de manipuler les limites et le cadre de self.tableView, ainsi qu'avec self.tableview.contentOffset, mais rien de tout cela ne semble avoir d'effet quelconque.

Existe-t-il un exemple que je ne parviens pas à faire sur Google et qui montre déjà exactement ce que je veux faire avec rotation ? J'imagine que c'est une situation très courante, mais je n'ai rien trouvé.

Donc, je suppose que ma question est la suivante: quelqu'un d'autre a-t-il déjà rencontré un problème de ce type auparavant, et peut-il au moins m'indiquer la bonne direction? Ou sait-il des pièges courants qui me manquent? Je suis sur le point de dire que vissez-le et n'autorisez pas la rotation dans la vue Modifier les détails, mais compte tenu du moment où les utilisateurs voudront probablement un clavier en mode paysage, j'aimerais vraiment l'avoir si possible ...

Merci pour toute aide que n'importe qui peut fournir.

Pas de solution correcte

Autres conseils

Cela tient probablement à la façon dont vous avez ancré vos objets dans Interface Builder. Accédez à Interface Builder et ouvrez l'inspecteur pour la vue de table. Je pense que c'est le troisième onglet qui a un ensemble de flèches. L'ensemble intérieur de flèches contrôle l'étirement de l'objet et l'ensemble extérieur de flèches contrôle les ancres. Verrouillez les côtés gauche / droit et choisissez le haut ou le bas (ou les deux si vous êtes en plein écran).

Vous pouvez tester votre vue directement dans Interface Builder (notamment en faisant pivoter la vue). Je vous suggère donc de vérifier que votre nouvelle solution fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top