UITextView de la taille du contenu différent dans iOS7
Je suis en utilisant un UITextView
qui sera extensible en appuyant sur un bouton "plus". Le problème est le suivant:
Sur iOS6 j'utilise cela,
self.DescriptionTextView.text = @"loong string";
if(self.DescriptionTextView.contentSize.height>self.DescriptionTextView.frame.size.height) {
//set up the more button
}
Le problème est que sur iOS7 la contentSize.height
renvoie une valeur différente (beaucoup plus petit) que la valeur qu'elle retourne sur iOS6.
Pourquoi est-ce? Comment résoudre ce problème?
OriginalL'auteur user1028028 | 2013-09-27
Vous devez vous connecter pour publier un commentaire.
La taille du contenu de la propriété ne fonctionne plus comme il l'a fait sur iOS 6. À l'aide de sizeToFit que d'autres suggèrent peut ou peut ne pas fonctionner selon un certain nombre de facteurs.
Il ne fonctionne pas pour moi, j'ai donc utiliser ceci à la place:
Il est facile à utiliser ensuite vérifier la version iOS: si (étage(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
Certes, il y a différentes façons de tests...
Meilleur correctif que j'ai vu jusqu'à présent de traiter avec le contentSize.hauteur problème iOS 7 causes. La seule chose que je voudrais mentionner, c'est qu'il est préférable de vérifier la version du système d', juste au cas où snapshotViewAfterScreenUpdates ne changera jamais.
J'ai mis à jour le code pour vérifier iOS 7 à l'encontre de la version du système.
OriginalL'auteur tarmes
Essayer la réponse dans le lien suivant,
layoutIfNeeded
doit être appelée avantcontentSize
.iOS7 UITextView contentsize.hauteur de rechange
La réponse:
Dans iOS7,
UITextView
utiliseNSLayoutManager
à la mise en page du texte:désactiver
allowsNonContiguousLayout
de fixercontentSize
:layoutIfNeeded avant contentSize résolu pour moi!
Je pense que c'est peut être faux par défaut pour les gestionnaires de disposition que vous faire vous-même, mais c'est vrai que par défaut pour celui qui le textview. Le réglage de dos à faux réglé mes problèmes de mise en page. Merci, @nova!
OriginalL'auteur nova
Ce lien semble avoir la réponse.
Vous devez utiliser
sizeToFit
avant d'utilisercontentSize
.OriginalL'auteur Puneet Sharma
Essayer avec le code suivant, Sa va être un travail à la fois iOS6 et 7, s'il vous plaît essayer.
OriginalL'auteur iPatel