我将使用多个视图和窗口创建一个OS X应用程序。
它有几个屏幕 - 启动,登录/注册和主屏幕(等等)。
我尝试使用NSWindowControllers。然而,它使用起来非常复杂,我很困惑。
视图/窗口转换的最佳体验是什么?
答案 0 :(得分:3)
我使用的主要模式如下:
New File
User Interface
Window
并将其另存为nameYouLike
New File
Cocoa
Objective-C class
个NSWindowController
子类,另存为nameYouLikeDelegate
File's Owner
Class
更改为nameYouLikeDelegate
window
和其他对象与IBOutlet
连接到nameYouLikeDelegate.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];
答案 1 :(得分:1)
您希望如何过渡? 在您的情况下,可能没有必要在窗口之间进行转换。 最好你制作一个NSViewController并在窗口的子视图之间转换。 你应该查看Cocoa的基础知识。
然后,您可以使用视图的animator属性。
[[self.view animator] setAlphaValue:0.0];