關(guān)于NSWindow以及跳轉(zhuǎn):
iOS中有UIWindow,window簡化一些說是一個邊框舀凛,一個容器俊扳,承載著一個app內(nèi)views;某些特殊情況猛遍,例如alertView系統(tǒng)會臨時新建一個權(quán)限最高的window外馋记,一般情況下,一個app一個window足夠了懊烤。
Mac中也有NSWindow梯醒,單通常并不是一個。NSWindow是NSView下面的腌紧,在sb中茸习,每一個viewController 都可以和一個windowController建立friendShip;window來管理這個窗口的frame壁肋,左上角的關(guān)閉号胚,放大/縮小等,view則在window內(nèi)浸遗。OS中并沒有頁面跳轉(zhuǎn)猫胁,因為iOS只有一個window所以會跳轉(zhuǎn),OS則使用的是建立新的window并且關(guān)閉舊的window實現(xiàn)跳轉(zhuǎn)的功能跛锌。 你也可以使用self.view.window
來獲取view controller類下view的window弃秆。 在sb中有5種跳轉(zhuǎn)方式:show/modal/sheet/popover/custom show是出現(xiàn); sheet是在不關(guān)閉原窗口情況下從窗口的上/下/左/右(可以選擇)彈出髓帽; popover是在上/下/左/右(可以選擇)彈出并且點(diǎn)擊后就會消失驾茴。
<pre>/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];</pre>
簡單來說是通過新建window關(guān)閉window來實現(xiàn)iOS中跳轉(zhuǎn)的功能。