2012-08-28 61 views
2

成为一个障碍,希望在这里得到一些见解。忽略MWPhotoBrowser视图控制器模式在拆分视图

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

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

DetailViewController:详细信息是一个按钮,用于根据日期自定义视图显示用户注释的另一个表视图(详细信息内)。每张笔记都可以有与之相关的图像。如果一张笔记有一张图像,则会显示一个带有照片图标的按钮。

示例屏幕截图到这一点:

Example screenshot 1

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(右侧)将在照片浏览器被模式解散后保留在那里。在分割视图中调用模型视图控制器是否会导致其他视图控制器被删除?

实施例的屏幕截图示出了问题:

enter image description here

详细视图控制器(右侧)上的堆叠应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]; 
} 
. 
. 
. 

希望有人可以帮我包我的头在这附近。

一如既往,非常感谢任何帮助。谢谢!

回答

0

我在NoteViewController中解决了我的问题(在MWPhotoBrowser被解雇后,该区域变黑)。

在viewWillAppear我设置我的tableview为零(防止细胞外裹)和重新加载我的表数据。

self.tableView = nil; 

[self.tableView reloadData]; 

也能正常工作为iPhone和如果不是从iPad上的MWPhotoBrowser的全屏显示返回。由于某些原因,我不明白,上面的代码导致了这个问题。我添加了额外的逻辑来检查我是否从全屏显示返回,现在一切正常。如果时间允许,我会更多地考虑它。

相关问题