我有一个 NSTextField,用户可以在其中写入文本。我希望能够制作3个按钮:粗体、斜体和下划线;这些按钮应将文本字段中的用户选择更改为粗体、斜体或下划线。
谁能指导我如何做到这一点?
第一件事是启用富文本支持,您可以在 Interface Builder 中通过检查检查器中的“Rich Text”选项或使用代码来完成此操作setAllowsEditingTextAttributes:
.
然后就是一切了NSAttributedString
s.
但最大的问题是,看起来您需要对所选文本应用更改。这是不可能的NSTextField
s。只有NSTextView
s.
如果你能改变它,那就继续吧,事情会让事情变得更容易。但是,如果您确实需要坚持NSTextField
您可能想要访问字段编辑器。每个窗口都有一个关联的窗口,它是在幕后处理文本的窗口。
NSTextView *editor = (NSTextView *)[window fieldEditor:YES forObject:myTextField]
然后就可以调用NSTextView的方法了setSelectedTextAttributes:
很高兴。
了解有关字段编辑器的更多信息在苹果这里 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TextEditing/Tasks/FieldEditor.html%23//apple_ref/doc/uid/20001815 and 在 CocoaDev 中 http://www.cocoadev.com/index.pl?FieldEditor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)