Mac开发基础_2-NSWindow

关于NSWindow以及跳转:
iOS中有UIWindow,window简化一些说是一个边框,一个容器,承载着一个app内views;某些特殊情况,例如alertView系统会临时新建一个权限最高的window外,一般情况下,一个app一个window足够了。
Mac中也有NSWindow,单通常并不是一个。NSWindow是NSView下面的,在sb中,每一个viewController 都可以和一个windowController建立friendShip;window来管理这个窗口的frame,左上角的关闭,放大/缩小等,view则在window内。OS中并没有页面跳转,因为iOS只有一个window所以会跳转,OS则使用的是建立新的window并且关闭旧的window实现跳转的功能。 你也可以使用self.view.window
来获取view controller类下view的window。 在sb中有5种跳转方式:show/modal/sheet/popover/custom show是出现; sheet是在不关闭原窗口情况下从窗口的上/下/左/右(可以选择)弹出; popover是在上/下/左/右(可以选择)弹出并且点击后就会消失。

/1:Xib/
_JoinInfoLastView = [[JoinInfoLastViewController alloc]initWithNibName:@"JoinInfoLastViewController" bundle:nil]; [self.view.window close];
[_JoinInfoLastView show];
/2:Sb/
[self.view.window close];
NSStoryboard* sb = [NSStoryboard storyboardWithName:@"Meeting" bundle:[NSBundle mainBundle]];
NSWindowController* winc = [sb instantiateControllerWithIdentifier:@"yourIdentifier"];
[winc showWindow:winc];
/3:Sb中有在两个View中连线/
[self.view.window close];
[self performSegueWithIdentifier:@"yourLineIdentifier" sender:self];

简单来说是通过新建window关闭window来实现iOS中跳转的功能。

你可能感兴趣的:(Mac开发基础_2-NSWindow)