【发布时间】:2011-09-15 11:17:46
【问题描述】:
我正在制作一个简单的 Mac 应用程序,我想在其中切换窗口。
我有两个 NSWindowController 类 MainWindow 和 DetailWindow
我正在使用此代码:
MainWindow 类:
//MainWindow.h
@class DetailWindow;
@interface MainWindow : NSWindowController{
IBOutlet NSButton *btn1;
DetailWindow *detailwindow;
}
@property (nonatomic, retain) IBOutlet NSButton *btn1;
- (IBAction)btn1Event:(id)sender;
//MainWindow.m
@implementation MainWindow
@synthesize btn1;
- (IBAction)btn1Event:(id)sender {
if (!detailwindow) {
detailwindow = [[DetailWindow alloc] initWithWindowNibName:@"DetailWindow"];
}
[detailwindow showWindow:self];
}
@end
DetailWindow 类:
//DetailWindow.h
@class MainWindow;
@interface DetailWindow : NSWindowController{
IBOutlet NSButton *backbtn;
MainWindow *mainwindow;
}
@property (nonatomic, retain) IBOutlet NSButton *backbtn;
- (IBAction)back:(id)sender;
//DetailWindow.m
@implementation DetailWindow
@synthesize backbtn;
- (IBAction)back:(id)sender {
if (!mainwindow) {
mainwindow = [[MainWindow alloc] initWithWindowNibName:@"MainWindow"];
}
[mainwindow showWindow:self];
}
@end
现在的问题是当我点击backbtn on DetaiWindow 时,它会打开一个新的MainWindow。
所以我在屏幕上有两个MainWindow。
当我点击 backbtn 时,我只想要前面的主窗口。
有什么帮助吗??
谢谢你..!!
【问题讨论】:
-
mainWindow在DetailWindow类中声明的位置在哪里? -
声明
backbtn..让我编辑问题..
标签: macos cocoa nswindow switching