[Cocoa App][OS X] Storyboard기반에서 다른 window 띄우기

2022. 1. 11. 00:42

1. Main.storyboard에서 Window Controller를 하나 더 생성한다.

2. 컨트롤 리스트에서 Window Controller를 선택한다.

3. 컨트롤 속성 창에서 Identity -> Storyboard ID에 원하는 스토리보드 아이디를 적는다.

4. AppDelegate.h에 WindowController를 다음과 같이 하나 선언한다.

@property NSWindowController *myController;

 

5. AppDelegate.m에 빨간 줄 추가

#import "AppDelegate.h"
 
@interface AppDelegate ()
@end
 
@implementation AppDelegate
 
@synthesize myController;
 
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
 
    // Insert code here to initialize your application
 
    NSStoryboard *storyBoard = [NSStoryboard storyboardWithName:@"Main" bundle:nil]; // get a reference to the storyboard
 
    myController = [storyBoard instantiateControllerWithIdentifier:@"secondWindowController"]; // instantiate your window controller
 
    [myController showWindow:self]; // show the window
}
 
- (void)applicationWillTerminate:(NSNotification *)aNotification {
    // Insert code here to tear down your application
}
 
@end

 

 

출처 : https://stackoverflow.com/questions/26689699/initializing-another-window-using-storyboard-for-os-x

 

BELATED ARTICLES

more