SplitViewController 打开新的细节视图而不是更新现有的视图 (iPhone 6+)
SplitViewController opens new details view instead of updating the existing one (iPhone 6+)
我正在制作一个带有 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];
}
Master table 视图的单元格的 segue 应该转到包含 Detail viewcontroller 的导航控制器。
如果将您的代码与从主从模板新建的项目进行比较,您可能会发现其他错误。
我正在制作一个带有 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];
}
Master table 视图的单元格的 segue 应该转到包含 Detail viewcontroller 的导航控制器。
如果将您的代码与从主从模板新建的项目进行比较,您可能会发现其他错误。