7
votes

Changer la couleur du texte de Nstextview dans l'interface Builder ne fonctionnera pas

Je peux définir la couleur d'arrière-plan pour NStextView, aussi la couleur d'insertion, mais lorsque j'essaie de changer la couleur du texte, cela ne fonctionne pas.

Je peux définir la couleur programmatique avant chaque insertion de texte, mais je fais probablement quelque chose de mal, car l'interface Builder offre ces options.

Voici ce que mon inspecteur ressemble à:

text alt


5 commentaires

Lorsque j'ajoute du texte à mon nstextview à IB, alors cela fonctionne bien. La couleur ne fonctionne pas seulement, quand il n'y a pas de texte au début.


Que voulez-vous dire par "la couleur ne fonctionne pas"?


Lorsque j'exécute l'application et écrivez du texte dans NSTextView, la couleur est noire au lieu de vert. Si j'écris du texte en premier (dans le constructeur d'interface), puis exécutez-le et écrivez, c'est vert.


5 ans plus tard .. même problème .. personne?


@Foxnos aurait pu trouver une solution / raison / de la solution de contournement


3 Réponses :


5
votes

Voici ce que j'ai essayé ci-dessous et les résultats que j'ai trouvés qui m'ont conduit à ma conclusion.

  1. (a) Ajouter NStextView (B) Changer de couleur. Résultat: ne fonctionne pas Entrez la description de l'image ici

  2. (a) Ajouter NSextView (b) puis modifiez le texte (c) Appuyez sur ENTER car il a échoué lorsque je n'ai pas appuyé sur ENTER (D) puis changez la couleur. Résultat: travaux Entrez la description de l'image ici

    Si le texte de la propriété NStextView n'est pas défini dans Interface-Builder, il ne semble pas sauvegarder la propriété de la couleur du texte. Ainsi, causant ainsi l'application de sélectionner la couleur par défaut lors du lancement. Les autres propriétés telles que la couleur de fond et de la couleur d'insertion sont toutefois enregistrées. Cela me conduit à penser que c'est un bogue dans l'interface Builder.

    En tant que solution de contournement, vous pouvez laisser un espace vide unique dans la zone de texte et définir votre couleur dans Builder d'interface, mais cela pourrait ne pas être favorable pour vous en fonction de ce que vous souhaitez faire avec le NStextView


1 commentaires

Je peux confirmer que ce problème persiste apparemment pour tous les attributs de texte (je voulais modifier la police, plutôt que la couleur de police). MacOS 10.12.5, Xcode 9b.



1
votes

Aussi loin que je peux voir - il y a un bogue dans AppKit à partir de (10.10) lorsque le texte n'est pas initialisé. Ce piratage m'a sorti des ennuis. xxx


0 commentaires

0
votes

nstextview obtient la police et la couleur de police du panneau de police du système qui est un composant global - définissez donc la couleur de la police dans le bloc-notes et vous constaterez probablement que la couleur de police est également appliquée à la nstextview la prochaine fois que vous l'utiliserez .

Vous devez remplacer ce comportement pour empêcher Nstextview d'utiliser le panneau de police système. Cela semble être plus difficile avec le mode sombre, car vous devriez essayer d'adopter les couleurs de police de mode sombre / lumineuse par défaut et de contrôler les couleurs de fond.


0 commentaires