我很困惑为什么下面的代码不起作用,我想要实现的是在NSRect中有一个NSTextfield但是我不确定它是否可能,如果它是如何做的,我尝试了下面的代码,但它不起作用......
NSRect city_label = NSMakeRect(20, 20, 7, 7);
NSTextField *label = [[NSTextField alloc] initWithFrame:city_label];
label.stringValue = @"Contents of NSTextfield";
NSRect在NSView中绘制
任何想法?
答案 0 :(得分:1)
NSRect不是那种可以“在NSView
中绘制”的实体 - 它不是NSView
子视图的实例。 NSRect只是C struct
描述大小(宽度和高度)和原点(x和y)。
使用其框架初始化NSTextField
后(请记住,此处的原点相对于您将文本字段添加为子视图的视图),您必须将其添加到您想要的视图中拥有超级视图。假设我们在NSViewController的自定义子类中,您的代码只需要这个额外的行
[self.view addSubview:label];