在我的桌面Mac应用程序中,我想以编程方式创建一个NSTextField“标签”,它具有与在界面生成器中创建的典型标签相同的行为和属性。
我通常使用(并且非常喜欢) IB,但在这种情况下,它必须通过编程来完成。
尽管我可能会尝试,但我似乎找不到方法调用的组合,它将以编程方式产生与从IB View Library调色板中拖动的"Label“相同的label-y行为。
有没有人能提供或指出一些如何通过编程实现这一点的示例代码?谢谢。
发布于 2009-10-02 03:50:04
label实际上是NSView的子类NSTextField的实例。因此,由于它是一个NSView,因此必须将其添加到另一个视图中。
下面是一个有效的代码:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSTextField *textField;
textField = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 200, 17)];
[textField setStringValue:@"My Label"];
[textField setBezeled:NO];
[textField setDrawsBackground:NO];
[textField setEditable:NO];
[textField setSelectable:NO];
[view addSubview:textField];
}
发布于 2009-10-02 04:07:28
您可以尝试使用nib2objc来获取IB设置的所有属性
发布于 2009-10-02 03:44:51
具体地说,你会想要setBordered:NO
,并设置边框样式,无论是什么边框样式,我忘记了。也可以使用setEditable:NO
,也可以选择setSelectable:NO
。这应该就足够了。
https://stackoverflow.com/questions/1507644
复制相似问题