簡體   English   中英

如何使用UIWindow轉到新的視圖控制器?

[英]how to go to the new view controller using UIWindow?

我已經在appDelegeate .m文件中編寫了以下代碼,但是我無法運行presentModalViewController方法。如果運行[self.window addSubview:mview],它不會顯示結果。 mtController是Navigationcontroller。

- (void)flip
{
    MViewController *mview = [[MViewController alloc] init]; 
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:2.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft 
                           forView:window
                             cache:YES];
    [mtController.view removeFromSuperview];
    [self.window addSubview:mview];
   // [self presentModalViewController:mailView animated:YES];
    [UIView commitAnimations];  
    [mailView release]
}

如果要向窗口添加NavigationController,則應調用
[self.window addSubview:mview.view];
而且,如果您想從NavigationController中的一個視圖轉到另一個視圖,則正確的做法是推送新的ViewController。
-(void)pushViewController:(UIViewController *)viewController動畫化:(BOOL)動畫

在代碼示例中,您將創建一個名為mview的對象,但隨后在presentModalViewController中,您將引用mailView(以及發行版)。 那是個錯誤嗎?

將mview.view添加到窗口后,它是堆棧上唯一的視圖嗎? 如果沒有,您可能需要將其放在最前面。 另外,假設底部的release語句是[mview release],那么如果您不保存/保留該視圖控制器,您將遇到另一個問題。 我不認為將其添加到窗口子視圖中可以保留它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM