Ras*_*yrk 3 cocoa objective-c nstextfield
我有一个NSTextField,用户可以在其中编写文本.我希望能够制作3个按钮:粗体,斜体和下划线; 这些按钮应将文本字段中的用户选择更改为粗体,斜体或下划线.
任何人都可以给我一个如何做到这一点的指针?
第一件事是启用富文本支持,您可以通过检查检查器中的"富文本"选项或使用代码在Interface Builder中执行此操作setAllowsEditingTextAttributes:.
那就是NSAttributedStrings.
但最大的问题是,您需要对所选文本应用更改.NSTextFields 是不可能的.只有NSTextViews.
如果您可以更改它,请继续操作,这将使事情变得更容易.但是,如果您确实需要坚持使用NSTextField,则可能需要访问字段编辑器.每个窗口都有一个关联,它是幕后文本的处理方式.
NSTextView *editor = (NSTextView *)[window fieldEditor:YES forObject:myTextField]
Run Code Online (Sandbox Code Playgroud)
然后你可以setSelectedTextAttributes:愉快地调用NSTextView的方法.
在Apple和CocoaDev中阅读有关字段编辑器的更多信息