iphone - 在 UISplitViewController 上方显示模态视图的最佳实践

标签 iphone ipad uisplitviewcontroller

基于 SplitViewController 模板创建一个新应用,它在分割 View 中运行良好。

我的主屏幕是一个非分割 View “菜单”。我正在尝试找出最佳实践 在 splitViewController 上方以模态方式添加此“mainMenu”。 (然后将其他非分割 View 推到主菜单上方或 删除它以显示并使用 UISplitViewController。)

我已经尝试过:

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

还有

[self presentModalViewController:mainMenu animated:NO];

在rootViewController和detailViewController的viewWillAppear和viewWillLoad方法中。在这两种情况下,代码执行时都不会出错,但 mainMenu 不会出现,而是会出现常规的DetailViewController 和 rootViewController。

(我确实在 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];

我看到很多回复说要以模态方式呈现这样的覆盖 View ,但我似乎无法在 splitViewController 设置中找到正确的位置或配置。感谢您的任何帮助或见解。

最后,这种方法是错误的吗?我应该换掉detailViewController并让它在纵向模式下全屏显示,而不是为根 Controller 添加菜单项吗?

最佳答案

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];
}

关于iphone - 在 UISplitViewController 上方显示模态视图的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3311071/

相关文章:

ios - 嵌入 UITabBarController 中的 UISplitViewController 在 iOS 14 中表现得很奇怪

ios - self.tableView reloadData 在 UISplitViewController 主细节应用程序中不起作用

iphone - SQLite 表名无效字符

ios - 将 IMEI 解码为序列号

ios - 检测wifi是否开启

ios - iPad uiimagepickercontroller 只有前置摄像头

ios - UISplitViewController:最初显示详细 View

iphone - 如何将本 map 片保存到在线数据库

iphone - UIWebView 占用 iPad 中 loadRequest 的所有内存

ios - 关闭模态视图 Controller 然后执行 segue