Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么这个代码不起作用?_Objective C_Cocoa_Macos_Nsview_Nsbutton - Fatal编程技术网

Objective c 为什么这个代码不起作用?

Objective c 为什么这个代码不起作用?,objective-c,cocoa,macos,nsview,nsbutton,Objective C,Cocoa,Macos,Nsview,Nsbutton,因此,我有以下代码来创建一个NSButton,并将其放在屏幕上。然而,当我运行这段代码时,什么也没有发生。这有什么问题 NSButton *newbutton = [[NSButton alloc] initWithFrame:NSMakeRect(100, 100, 109, 151)]; [newbutton setImage:[NSImage imageNamed:@"4Diamonds.png"]]; 按钮本身并没有神奇地出现。您必须将其添加到可见视图中,例如使用。Hmmm,好

因此,我有以下代码来创建一个NSButton,并将其放在屏幕上。然而,当我运行这段代码时,什么也没有发生。这有什么问题

NSButton *newbutton = [[NSButton alloc] initWithFrame:NSMakeRect(100, 100, 109, 151)];
    [newbutton setImage:[NSImage imageNamed:@"4Diamonds.png"]];

按钮本身并没有神奇地出现。您必须将其添加到可见视图中,例如使用。

Hmmm,好的,谢谢,我在将主背景视图连接到插座时遇到问题,因此我无法向其添加子视图,这是有原因的吗?@Regan:您必须提供一些关于什么不起作用的详细信息。我不确定如何以编程方式引用我要添加子视图的superview。@Regan:我猜使用nib文件设置用户界面将是有益的。然后,您可以(如果确实希望以编程方式添加按钮)创建一个IBOutlet实例变量,并从Interface Builder中将其连接到superview。在生成的Cocoa项目(非基于文档)中,您可以通过在应用程序委托中使用
[window contentView]
快速测试它。除了测试之外,阅读有关如何使用Interface Builder等的教程将非常有帮助。