如何以编程方式创建NSTextField?
问题描述:
我想通过编程创建NSTextField
。我是Mac App开发新手。
任何人都可以帮助我吗?如何以编程方式创建NSTextField?
更新:
我想这个代码
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSView *myView = [[NSView alloc] init];
NSRect frameRect = NSMakeRect(20,20,100,140);
NSTextField *myTextField = [[NSTextField alloc] initWithFrame:frameRect];
[myView addSubview:myTextField];
}
这什么都不做。如果我在任何地方都错了,请纠正我。
谢谢。
答
它看起来像你创建一个NSTextField
OK,但你不能在视图层次将它添加到任何地方可见。您的应用程序可能包含一个或多个NSWindow
实例;如果您希望某个视图出现在特定窗口中,则应该将其添加为该窗口内容视图的子视图。
答
以可编程方式创建UI元素在Cocoa中非常简单。
它包括两个步骤:
创建视图和帧设置为它。
将它作为子视图添加到任何超级视图中。
以下代码片段可以帮助您更好地理解。
NSRect frameRect = NSMakeRect(20,20,40,40)// This will change based on the size you need NSTextField *myTextField = [[NSTextField alloc] initWithFrame:frameRect]; [myView addSubView:myTextField];
+0
感谢您的快速回复。你能帮我多点吗?我更新了我的问题。请看一下。 – iUser 2012-02-03 12:56:00
我正在为此而努力。但我不知道如何在我的窗口中添加视图。我的意思是''[[self window] addcontentview:我的视图]'但是找不到方法。你能帮我吗。 – iUser 2012-02-03 13:47:36
不要替换内容视图,除非您希望您的文本字段填充整个窗口。相反,将您的文本字段添加到内容视图(或其子视图),如[self.window.contentView addSubview:myTextField]。 – hoshi 2012-02-04 01:30:34
@hoshi:在我的情况下什么都不做。不知道是什么问题.. !!! – iUser 2012-02-04 11:50:22