私はウィンドウを切り替える簡単なMacアプリケーションを作っています。
私はこのコードを使用しています2つのNSWindowControllerクラスMainWindow
とDetailWindow
2つのNSWindowを切り替える
を持っている:
メイン・ウィンドウクラス:
//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
を2つ持っています。
backbtnをクリックするとメインウィンドウが前面に表示されます。
ありがとうございます!
いいえ.......... – iUser
'DetailWindow'クラスで宣言された' mainWindow'はどこですか? –
'backbtn'を宣言した後..質問を編集させてください。 – iUser