我想添加一个NSWindow,简单的代码是:
NSWindow* myWindow;
myWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(100,100,300,300)
styleMask:NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[myWindow makeKeyAndOrderFront:nil];窗口出现了一秒,然后消失了。怎么了?
谢谢你的回答。
发布于 2012-12-31 11:55:49
你不能把窗户留着。
将NSWindow* myWindow;在.h中定义为属性。
在.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。
https://stackoverflow.com/questions/14101028
复制相似问题