【问题标题】:Selectable text in an NSView subclassNSView 子类中的可选文本
【发布时间】:2011-04-23 19:04:18
【问题描述】:
我很惊讶地发现没有任何文档或示例说明如何做到这一点,但我想知道在 NSView 子类中绘制和管理可选文本的最佳方法是什么。我看过NSText,但我认为这对我的需求来说有点过分(或者是吗?)。我不需要文本是可编辑的或类似的东西,只需要简单的可选文本(每次我想要可选文本时都不必求助于创建单独的 NSTextView 实例。
感谢任何指针。
【问题讨论】:
标签:
objective-c
cocoa
nsview
nstextview
【解决方案1】:
NSTextField 应该为你做这件事。 “标签样式”字段可以选择但不可编辑。
NSTextField * myTextField = [[NSTextField alloc] initWithFrame:rectWhereIWantTheTextField];
[myTextField setEditable:NO];
//[myTextField setSelectable:YES]; // This is YES by default
[myTextField setStringValue:myStringForDisplay];
【解决方案2】:
从 Interface Builder 的 TextField 行为中取消选中“可编辑”和“字段编辑器”。像这样。
【解决方案3】:
我最终使用了NSTextView 子视图来嵌入可选文本,但是对于任何感兴趣的人,Twitter 的TwUI 框架有一个名为TUITextRenderer 的类,它可以让您将可选文本嵌入到TUIView 子类中。