[英]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.