Xcode 在拆分视图中模式地解除浏览器视图控制器

Xcode 在拆分视图中模式地解除浏览器视图控制器,xcode,uisplitviewcontroller,modalviewcontroller,ipad,Xcode,Uisplitviewcontroller,Modalviewcontroller,Ipad,遇到了一个障碍,希望能在这里有所了解 概述:通用应用程序。iPhone部分工作得很好。iPad部分有一个分割视图控制器。主视图是一个表视图(左侧),用户在其中选择一行并显示其详细信息(右侧)。相当标准的东西 我使用的是Xcode版本4.4.1,我的项目使用的是核心数据、故事板和ARC DetailViewController:详细信息上有一个按钮,可通过自定义视图按日期显示用户注释的另一个表视图(在详细信息中)。每个音符都可以有一个与其关联的图像。如果便笺有图像,则会显示带有照片图标的按钮 到目

遇到了一个障碍,希望能在这里有所了解

概述:通用应用程序。iPhone部分工作得很好。iPad部分有一个分割视图控制器。主视图是一个表视图(左侧),用户在其中选择一行并显示其详细信息(右侧)。相当标准的东西

我使用的是Xcode版本4.4.1,我的项目使用的是核心数据、故事板和ARC

DetailViewController:详细信息上有一个按钮,可通过自定义视图按日期显示用户注释的另一个表视图(在详细信息中)。每个音符都可以有一个与其关联的图像。如果便笺有图像,则会显示带有照片图标的按钮

到目前为止的示例屏幕截图:

MWPhotoBrowser:当按下照片图标的按钮时,我调用MWPhotoBrowser(以标准方式显示图像的极好库)来显示图像。单次点击显示一个选定的图像,双次点击显示当前表格上的所有图像,首先查看选定的图像。图像将全屏显示

要显示照片浏览器,我使用以下代码:

// Create the browser view.
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];

// Set browser options.
browser.wantsFullScreenLayout = YES;
browser.displayActionButton = YES;
[browser setInitialPageIndex:self.buttonRow];

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:browser];

[self presentModalViewController:navController animated:YES];
navController允许我包括一个带有“完成”按钮的导航控制器,该按钮调用doneButtonPressed

问题:在我按下“完成”按钮之前,上述所有功能都可以正常工作。全屏照片浏览器将正常关闭。不幸的是,用户按下照片图标按钮右侧的表视图现在不见了(黑色)。我原以为在照片浏览器被禁用后,NotesViewController(右侧)会留在那里。在拆分视图中调用模型视图控制器是否会导致删除其他视图控制器

显示问题的示例屏幕截图:

详细视图控制器(右侧)上的堆栈应为DetailViewController>NotesViewController>,然后以模式调用MWPhotoBrowser。取消照片浏览器后,我的self.navigationController.viewControllers.count等于1,我希望它为2

以下是关闭MWPhotoBrowser的代码:

- (void)doneButtonPressed:(id)sender {

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

    [self dismissViewControllerAnimated:YES completion:nil];
}
.
.
.
希望有人能帮我解决这个问题


一如既往,我们非常感谢您的帮助。谢谢

我在NoteViewController中解决了问题(MWPhotoBrowser关闭后该区域变黑)

在VIEWWILLEXPENCE中,我将tableview设置为nil(以防止单元格溢出)并重新加载表格数据

self.tableView = nil;

[self.tableView reloadData];

这对iPhone和iPad上的全屏幕显示不起作用时都很好。出于某种我不理解的原因,上面的代码导致了这个问题。我添加了额外的逻辑来检查我是否从全屏显示返回,现在一切都好了。如果时间允许,我将进一步研究。

我在NoteViewController中解决了我的问题(MWPhotoBrowser关闭后该区域变黑)

在VIEWWILLEXPENCE中,我将tableview设置为nil(以防止单元格溢出)并重新加载表格数据

self.tableView = nil;

[self.tableView reloadData];
这对iPhone和iPad上的全屏幕显示不起作用时都很好。出于某种我不理解的原因,上面的代码导致了这个问题。我添加了额外的逻辑来检查我是否从全屏显示返回,现在一切都好了。如果时间允许,我会进一步调查的