gpt4 book ai didi

objective-c - N窗口消失

转载 作者:太空狗 更新时间:2023-10-30 03:48:59 25 4
gpt4 key购买 nike

我想添加一个 NSWindow 简单的代码是:

NSWindow* myWindow;
myWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(100,100,300,300)
styleMask:NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[myWindow makeKeyAndOrderFront:nil];

然后窗口出现一秒钟然后消失。怎么了?

  • Xcode 4.5.2
  • MacBookPro i5 10.8.2

感谢您的回答。

最佳答案

您没有保留窗口。

在 .h 中定义 NSWindow* myWindow; 作为属性。


在.h中

@property (strong)NSWindow* myWindow;

以.m为单位

- (IBAction)button:(id)sender {

if (self.myWindow==nil){
self.myWindow= [[NSWindow alloc] initWithContentRect:NSMakeRect(100,100,300,300)
styleMask:NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO];
}

[self.myWindow makeKeyAndOrderFront:NSApp];

}

编辑:

如果您希望通过同一个按钮打开多个窗口。创建数组

在.h中

@property(strong) NSMutableArray *myWindowArray;

以.m为单位

- (IBAction)button:(id)sender {
self.myWindow= [[NSWindow alloc] initWithContentRect:NSMakeRect(100,100,300,300)
styleMask:NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO];


[self.myWindowArray addObject:self.myWindow];

for (NSWindow *win in self.myWindowArray) {
[win makeKeyAndOrderFront:NSApp];

}
}

编辑 2:

找到 application here .

关于objective-c - N窗口消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com