2

我将制作一个带有多个视图和窗口的 OS X 应用程序。

它有几个屏幕——启动画面、登录/注册和主屏幕(等等)。

我尝试使用 NSWindowControllers。但是,它使用起来非常复杂,我很困惑。

视图/窗口转换的最佳体验是什么?

4

2 回答 2

3

我使用的主要模式如下:

  • 创建一个New File User Interface Window并将其另存为nameYouLike
  • 创建一个New File Cocoa Objective-C classNSWindowController类并保存为nameYouLikeDelegate
  • 转到 nameYouLike NSWindow 并将其更改File's Owner ClassnameYouLikeDelegate
  • 使用to连接window和需要 xib 的其他对象IBOutletnameYouLikeDelegate.h
  • 在一些 init/show 方法中这样做:

    - (void)showWindow {
        if (!self.window) {
            [NSBundle loadNibNamed:@"nameYouLike" owner:self];
        }
    
        [self.window makeKeyAndOrderFront:self];
    }
    
  • 以某种方式保存参考(fe 在AppDelegateNSWindowController另一个窗口中):

    nameYouLikeDelegate *fNameYouLikeDelegate;
    
  • 现在,当您需要创建您的窗口时,您可以使用:

    fNameYouLikeDelegate = [[nameYouLikeDelegate alloc] init];
    
  • 并展示它:

    [fNameYouLikeDelegate showWindow];
    
于 2012-10-15T09:26:38.377 回答
1

你想如何过渡?在您的情况下,可能没有必要在窗口之间进行转换。最好制作一个 NSViewController 并在窗口的子视图之间进行转换。您应该查看 Cocoa 的基础知识。

然后,您可以使用视图的 animator 属性。

[[self.view animator] setAlphaValue:0.0];
于 2012-10-15T07:58:02.983 回答