簡體   English   中英

在UISplitViewController上方顯示模態視圖的最佳實踐

[英]Best practice for displaying modal view above UISplitViewController

基於SplitViewController模板創建一個新的應用程序,它在Split View中工作正常。

我的主屏幕是非splitview'菜單'。 我試圖找出在splitViewController上方以模態方式添加'mainMenu'的最佳實踐。 (然后在mainMenu上方推送其他非拆分視圖或刪除它以顯示並使用UISplitViewController。)

我努力了:

[self.navigationController presentModalViewController:mainMenu animated:NO];

[self presentModalViewController:mainMenu animated:NO];

在viewWillAppear和viewWillLoad方法中,用於rootViewController和detailViewController。 在這兩種情況下,代碼都會正確執行,但是mainMenu沒有出現,會出現常規的detailViewController和rootViewControllers。

(我確實從main.xib文件中的navigationController到detailView navigationController創建了一個插座,但是沒有改變任何東西。)

我能夠通過使用來完成這項工作,這有效,但似乎是不正確的。

iPad_Prototype_SplitAppDelegate *delegate = (iPad_Prototype_SplitAppDelegate *) [   [UIApplication sharedApplication] delegate];

[delegate.splitViewController.view addSubview:mainMenu.view];
[delegate.splitViewController.view bringSubviewToFront:mainMenu.view];

我已經看到許多回復說要以模態方式呈現這樣的覆蓋視圖,但我似乎無法在splitViewController設置中找到正確的位置或配置。 感謝您的幫助或見解。

最后,這種方法是錯誤的,我應該只是交換detailViewController並讓它在縱向模式下全屏顯示而不是為根控制器添加菜單項?

AppDelegate中的splitViewController就像示例一樣,這有用嗎?

//AppDelegate.m
- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  

MyController *myCont = [[MyController alloc] initMainMenu];
// mess around with myCont.view.modalPresentationStyle;

[myCont setModalDelegate:self]; 
// Create a delegate (<ModalControllerDelegate>) to dismiss view when done

[self.splitViewController presentModalViewController:myCont animated:NO];
[myCont release];
}

// for completion sake
-(void)modalViewDismiss:(MyController *)modalView {
    [self.splitViewController dismissModalViewController:YES];
}

暫無
暫無

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

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