J'ai simple textview ajouté à la vue basée sur le storyboard, avec la sortie du fichier .m de ViewController. Je fixe du texte en l'utilisant. E.g scénario: strong> p>
Je voulais faire UitextView non touchable, tout comme Uilabel (j'utilise UitextView au lieu d'Uilabel, car mon texte peut être 1 ou 2 ligne et Uilabel aligne le texte au centre de vision verticale pendant 1 ligne et pour 2 lignes qu'il commence à partir de En haut à gauche, je veux que cela commence de haut à gauche dans les deux cas facilement réalisable par TextView). p>
Pour le rendre non touchable d'abord, j'ai désactivé Si je vérifie Problèmes: strong> p>
Pourquoi décocher de Une dernière chose que j'ai remarqué, si je décochez (Je sais que je devrais simplement faire l'interaction utilisateur de TextView désactivée pour le rendre non touchable, mais j'ai accidentellement décoché [_ TextViewone Settext: @ "Test Text"]; Code>. J'utilise Xcode 6.1, compilant avec iOS 8.1. P>
sélectionnable code> de celui-ci de Storyboard et essayé d'exécuter l'application. Après le décocher
Sélection de la propriété CODE> Propriété My Text Vue Texte non Utilisation de la couleur I définie pour cela (j'ai défini la couleur rouge) et utilise la couleur noire par défaut. p>
p>
sélectionnable code>, la couleur du texte suit tout ce que je définis dans l'interface Builder. P>
sélectionnable code> Propriété à partir de l'interface Builder ne suit pas tout type de texte que je suis défini pour TextView. P> LI>
sélectionnable code> Propriété à partir de l'interface Builder et essayé de le définir de manière programmatique comme
_textviewone.selectable = oui; code> Ne suivez pas tout type de texte que je suis défini dans l'interface Builder, vérifiant uniquement que la propriété de l'interface Builder fonctionne. (Essayé avec une construction propre, redémarrage de xcode également) p> li>
ol>
sélectionnable code> et il a pris le temps de comprendre ce qui se passait, alors je voulais juste savoir était Je fais quelque chose de mal ou c'est une sorte de problème ou c'est un comportement correct de ce contrôle.) P>
3 Réponses :
Pour désactiver l'interaction avec un TextView (rendant non touchable), vous pouvez utiliser:
_textViewOne.userInteractionEnabled = NO;
Merci de répondre à Ben, mais comme je l'ai déjà mentionné dans ma question que je connais la solution que vous avez fournie, j'ai besoin de réponses pour les problèmes 1 et 2.
On dirait que ce bogue a été corrigé sur iOS 10.
Cependant, j'ai été très surpris lorsque j'ai vu ce bogue dans notre bugtracker et que je ne peux pas reproduire sur iOS 10, mais la reproduite avec succès sur iOS9. P>
Solution dans mon cas consistait à l'écrire en code dans cette commande: p> PS fort> p> TextViewoneOne. userinterActionAcédée = FALSE code> ne fonctionne pas pour moi, car je veux que TextView soit à défilement défilable, mais sans option de sélection. P> p>
C'est certainement un bug étrange!
Une ancienne question, mais je viens de courir dans cette question hier. Cette question et les réponses ont aidé. P>
Cependant, depuis mon Utilisation de J'espère que cela aide encore toute personne à essayer de toujours soutenir iOS 9. p> uitextview code> comme dans une cellule de table,
isselectable = false code> n'était pas une option utilisable. Voici ce qui a fonctionné pour moi: p>
uitextview code> avec
userinterAcédenableEnabled code> coché li>
uitextview code>
textcolor code> puis utilisez
setunerInterAcédenabled: code> pour la définir sur
non code> li>
ol>
self.textview.textcolor = [uicolor blackcolor];
[Self.TextView SetUnerInterActionAcéder: Non]; Code> P>
SetunerInterAcédenableD: code> au lieu de
.UserInterActionEnabled code> est apparemment la différence qui fonctionne. p>
Il y a un bogue dans iOS: la modification du texte changera également de couleur. Vous devez modifier la couleur de texte après b> changer le texte, c'est-à-dire tv.text = @ "asd"; TV.TextColor = [uicolor quoi que ce soit].