【问题标题】:Opening a "Welcome" window from main application window从主应用程序窗口打开“欢迎”窗口
【发布时间】:2016-03-30 06:03:11
【问题描述】:

我正在为 OSx 开发可视化编辑器应用程序

目前,应用程序打开了我的 MainMenu.xib。 我想在打开应用程序时向用户展示一个欢迎窗口,列出以前打开的项目,以及一个创建新项目的按钮(实际上链接到我的 App Delegate menuNewProject 方法)

打开这个“欢迎”xib 而不是 MainMenu xib 的最佳方法是什么?

让我当前的应用程序委托像这样打开欢迎 xib 吗?

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

然后隐藏我的 MainMenu 窗口?

或者以我的应用程序 Welcome xib 而不是 MainMenu 为起点,然后从那里打开我的可视化编辑器?

感谢您的帮助。

【问题讨论】:

    标签: objective-c xcode


    【解决方案1】:

    据我了解,您希望打开“欢迎”屏幕而不是“主菜单”...

    如果您在 info.plist 文件中设置启动屏幕,将打开欢迎屏幕而不是 MainMenu

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

    Launch screen interface file base name = Welcome
    

    希望它对你有用.. 谢谢

    【讨论】:

    • 那是我的选择“或者让我的应用程序的起点欢迎 xib 而不是 MainMenu,然后从那里打开我的可视化编辑器?”问题是这样做,我必须重构很多东西,尤其是在与我的 MainMenu 链接的 AppDelegate ...
    【解决方案2】:

    好的,我想我明白了:

    在结尾

    - (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];
    }
    

    似乎工作,也许我应该添加一些东西来从内存中丢弃我的欢迎屏幕。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      相关资源
      最近更新 更多