SplitViewController 打开新的详细信息视图,而不是更新现有的(iPhone 6+)

Posted

技术标签:

【中文标题】SplitViewController 打开新的详细信息视图,而不是更新现有的(iPhone 6+)【英文标题】:SplitViewController opens new details view instead of updating the existing one (iPhone 6+) 【发布时间】:2016-02-16 00:44:55 【问题描述】:

我正在使用 SplitViewController 制作应用程序。

当我在 iPhone 6 Plus 上以横向模式使用我的应用程序时(拆分视图,就像在设置应用程序中一样),我得到了(这是正常的):

但是当我单击一个单元格以使用相应的图像更新详细视图时,我得到了一些奇怪的东西: 另一个详细视图从屏幕左侧弹出。它应该用新图像更新现有的详细视图。

您知道为什么会发生这种情况以及如何获得正确的行为吗?也许我在故事板中做错了什么?

[编辑]: 这是我的 prepareForSegue :

MY_Img *img = [self.imgs
objectAtIndex:self.tableView.indexPathForSelectedRow.row];
/*
DetailViewController *detailController = (DetailViewController *)segue.destinationViewController;
[detailController setDetailItem:img];
*/

((AppDelegate*)[UIApplication sharedApplication].delegate).detailItem=img;

我不得不使用它,因为注释部分会使程序崩溃。我不知道为什么。你知道那是错的吗?

他们,我用那个返回 DetailController 中的 img

- (void)viewDidLoad 
[super viewDidLoad];

[self setDetailItem: ((AppDelegate*)[UIApplication sharedApplication].delegate).detailItem];


【问题讨论】:

这是我的故事板:screen1 【参考方案1】:

主表视图单元格的转场应该转到包含详细视图控制器的导航控制器。

如果您将代码与从 Master-Detail 模板新建的项目进行比较,您可能会发现其他错误。

【讨论】:

谢谢,这是有道理的。我添加了在主视图控制器的详细视图控制器中设置信息的代码。

以上是关于SplitViewController 打开新的详细信息视图,而不是更新现有的(iPhone 6+)的主要内容,如果未能解决你的问题,请参考以下文章

SplitViewController 更新详细视图

SplitViewController 在启动时总是显示 DetailViewController

UINavigationController & SplitViewController

在 Tabbar 中添加 SplitViewController

SplitViewController 模板手动显示弹出框?

通用应用Splitviewcontroller