Objective c OS X中的windows之间的转换

Objective c OS X中的windows之间的转换,objective-c,macos,transition,nswindowcontroller,nsviewcontroller,Objective C,Macos,Transition,Nswindowcontroller,Nsviewcontroller,我将制作一个具有多个视图和窗口的OSX应用程序 它有几个屏幕-启动、登录/注册和主屏幕等 我尝试使用NSWindowController。然而,它的使用如此复杂,我感到困惑 视图/窗口转换的最佳体验是什么?您希望如何转换? 在您的情况下,可能没有必要在窗口之间进行转换。 最好在窗口的子视图之间创建NSViewController和转换。 你应该看看可可的基本知识 然后可以使用视图的animator属性 [[self.view animator] setAlphaValue:0.0]; 您希望如

我将制作一个具有多个视图和窗口的OSX应用程序

它有几个屏幕-启动、登录/注册和主屏幕等

我尝试使用NSWindowController。然而,它的使用如此复杂,我感到困惑


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

您希望如何转换? 在您的情况下,可能没有必要在窗口之间进行转换。 最好在窗口的子视图之间创建NSViewController和转换。 你应该看看可可的基本知识

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

[[self.view animator] setAlphaValue:0.0];

您希望如何过渡? 在您的情况下,可能没有必要在窗口之间进行转换。 最好在窗口的子视图之间创建NSViewController和转换。 你应该看看可可的基本知识

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

[[self.view animator] setAlphaValue:0.0];

我使用的主要模式如下:

创建一个新的文件用户界面窗口,并将其另存为nameYouLike 创建NSWindowController子类的新文件-C类,并将其另存为名称YouLikeDelegate 转到nameYouLike NSWindow并将其文件的所有者类更改为nameYouLike Legate 将xib的窗口和其他需要的对象与IBOutlet连接起来,命名为youlikeDelegate.h 在某些init/show方法中,请执行以下操作:

- (void)showWindow {
    if (!self.window) {
        [NSBundle loadNibNamed:@"nameYouLike" owner:self];
    }

    [self.window makeKeyAndOrderFront:self];
}
在另一个窗口的AppDelegate或NSWindowController中以某种方式保存引用:

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

fNameYouLikeDelegate = [[nameYouLikeDelegate alloc] init];
为了证明这一点:

[fNameYouLikeDelegate showWindow];

我使用的主要模式如下:

创建一个新的文件用户界面窗口,并将其另存为nameYouLike 创建NSWindowController子类的新文件-C类,并将其另存为名称YouLikeDelegate 转到nameYouLike NSWindow并将其文件的所有者类更改为nameYouLike Legate 将xib的窗口和其他需要的对象与IBOutlet连接起来,命名为youlikeDelegate.h 在某些init/show方法中,请执行以下操作:

- (void)showWindow {
    if (!self.window) {
        [NSBundle loadNibNamed:@"nameYouLike" owner:self];
    }

    [self.window makeKeyAndOrderFront:self];
}
在另一个窗口的AppDelegate或NSWindowController中以某种方式保存引用:

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

fNameYouLikeDelegate = [[nameYouLikeDelegate alloc] init];
为了证明这一点:

[fNameYouLikeDelegate showWindow];

您的窗口是否都在同一个xib文件中?并将帮助您。您的窗口是否都在同一个xib文件中?我会帮你的,这对我不管用。但我先创建了类,然后选择了也不适合我的类。但我首先创建了类,然后选择了createxib