簡體   English   中英

從主應用程序窗口打開“歡迎”窗口

[英]Opening a “Welcome” window from main application window

我正在為OSx開發可視化編輯器應用程序

當前,該應用程序打開我的MainMenu.xib。 在使用“歡迎”窗口打開應用程序時,我想向用戶介紹,列出先前打開的項目,以及創建新項目的按鈕(實際上是鏈接到我的App Delegate menuNewProject方法)

什么是打開此“ Welcome” xib而不是MainMenu xib的最佳方法?

使我當前的應用程序代表像這樣打開Welcome xib?

Welcome *welcome = [[Welcome alloc] initWithWindowNibName:@"Welcome"];

然后隱藏我的MainMenu窗口?

還是將我的應用程序作為起點歡迎xib而不是MainMenu,然后從那里打開我的可視編輯器?

謝謝您的幫助。

根據我的理解,您想打開“歡迎”屏幕而不是“ MainMenu” ...

如果您在info.plist文件中設置了啟動屏幕,則會打開“歡迎”屏幕,而不是MainMenu

在info.plist文件中設置此字段:-

Launch screen interface file base name = Welcome

希望它對您有用..謝謝

好吧,我想我明白了:

在......的最后

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification

我補充說:

[self.window orderOut:nil]; // hide application window
Welcome *welcome = [[Welcome alloc] initWithWindowNibName:@"Welcome"];
[welcome.window makeKeyAndOrderFront:self];
[[NSApplication sharedApplication] runModalForWindow:welcome.window]; // display splash screen

在我的Welcome.m文件中,我在啟動窗口上添加了一個關閉按鈕:

-(void)windowDidLoad
{
    [super windowDidLoad];

    NSButton* closeButton = [NSWindow standardWindowButton:NSWindowCloseButton forStyleMask:NSTitledWindowMask];
    [closeButton setFrameOrigin:NSMakePoint(0, 410)];
    NSView* contentView = self.window.contentView;
    [contentView addSubview:closeButton];

    [closeButton setTarget:[AppDelegate appDelegate]];
    [closeButton setAction:@selector(closeModal:)];
}

在AppDelegate.m中,我添加了一個closeModal方法,該方法負責關閉歡迎屏幕並顯示應用程序窗口:

-(void) closeModal:(id)sender
{
    [[NSApplication sharedApplication] stopModal];
    [self.window orderFront:nil];
}

似乎可以正常工作,也許我也應該添加一些內容以將我的“歡迎”屏幕從內存中丟棄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM