Ich habe eine Cocoa-App mit einem NSTextView
Steuerelement, das seinen Text in einem NSAttributedString
hält (eigentlich glaube ich, es ist ein NSMutableAttributedString
). Ich kann verschiedene Textattribute (wie Schriftart, Unterstreichung usw.) für verschiedene Zeichenbereiche innerhalb dieser Zeichenfolge einfach festlegen und ändern.Wie kann ich ein "verstecktes" Attribut für Text in NSAttributedString festlegen?
Allerdings möchte ich einen Teil des Textes als versteckt (ähnlich der Wirkung des CSS-Attributs display: none
). Wenn ein externes Ereignis auftritt (z. B. eine angeklickte Schaltfläche), möchte ich diesen bestimmten Zeichenbereich einblenden oder ausblenden.
Gibt es das überhaupt mit NSAttributedString
?
Oops zu setzen, dass in der ersten Zeile werden NSMutableAttributedString sollte. Wie gesagt, das wurde nicht getestet :-) – Alex
Man sollte den Unterschied zwischen deiner und meiner Lösung erwähnen: Dein Code entfernt die Zeichen wirklich mit dem 'MyHiddenTextAttribute', während meine Lösung Leerzeichen im markierten Bereich zurücklässt. –
Ja, und es ist wichtig zu bedenken, dass dieser Code eine Zeichenfolge erstellt, die nur für die Anzeige geeignet ist. Bei der ursprünglichen Frage wurde nach dem Attribut CSS-Anzeige: Keine gesucht. Wenn Sie die mit dieser Methode erzeugten Zeichenfolgen zeichnen, erhalten Sie einen ähnlichen Effekt. – Alex