10
votes

UITEXTVIEW TEXT COULEUR DE TEXTE N'EST PAS RÉGLÉ UNE PROPRIÉTÉ SIPTABLE DISPOSIBLES

Configuration:

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 [_ TextViewone Settext: @ "Test Text"]; . J'utilise Xcode 6.1, compilant avec iOS 8.1.

scénario:

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).

Pour le rendre non touchable d'abord, j'ai désactivé sélectionnable de celui-ci de Storyboard et essayé d'exécuter l'application. Après le décocher Sélection de la propriété 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.

Entrez la description de l'image ici

Si je vérifie sélectionnable , la couleur du texte suit tout ce que je définis dans l'interface Builder.

Problèmes:

  1. Pourquoi décocher de sélectionnable Propriété à partir de l'interface Builder ne suit pas tout type de texte que je suis défini pour TextView.

  2. Une dernière chose que j'ai remarqué, si je décochez sélectionnable Propriété à partir de l'interface Builder et essayé de le définir de manière programmatique comme _textviewone.selectable = oui; 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)

    (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é sélectionnable 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.)


1 commentaires

Il y a un bogue dans iOS: la modification du texte changera également de couleur. Vous devez modifier la couleur de texte après changer le texte, c'est-à-dire tv.text = @ "asd"; TV.TextColor = [uicolor quoi que ce soit].


3 Réponses :


2
votes

Pour désactiver l'interaction avec un TextView (rendant non touchable), vous pouvez utiliser:

_textViewOne.userInteractionEnabled = NO;


1 commentaires

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.



5
votes

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.

Solution dans mon cas consistait à l'écrire en code dans cette commande: xxx

PS

TextViewoneOne. userinterActionAcédée = FALSE ne fonctionne pas pour moi, car je veux que TextView soit à défilement défilable, mais sans option de sélection.


1 commentaires

C'est certainement un bug étrange!



0
votes

Une ancienne question, mais je viens de courir dans cette question hier. Cette question et les réponses ont aidé.

Cependant, depuis mon uitextview comme dans une cellule de table, isselectable = false n'était pas une option utilisable. Voici ce qui a fonctionné pour moi:

  1. dans le storyboard, laissez le uitextview avec userinterAcédenableEnabled coché
  2. dans le code, définissez le uitextview textcolor puis utilisez setunerInterAcédenabled: pour la définir sur non

    self.textview.textcolor = [uicolor blackcolor]; [Self.TextView SetUnerInterActionAcéder: Non];

    Utilisation de SetunerInterAcédenableD: au lieu de .UserInterActionEnabled est apparemment la différence qui fonctionne.

    J'espère que cela aide encore toute personne à essayer de toujours soutenir iOS 9.


0 commentaires