我正在使用Xcode 4.3.3开发一个主细节应用程序,现在在主视图控制器中我已经设法加载一个名为“Fav Real”的附加视图控制器
当这个视图控制器加载时,它将包含不同的从sqlite数据库中取出的项目到tableViewController。
我的问题在这里,当我点击任何加载的行时,我需要将不同的viewController加载到detailViewController中,以加载另一个视图控制器而不是第一个。我实在迷失了,我试图做下面的架构,但我不知道如何实现我的目标......任何帮助都将受到高度赞赏。
如图所示,这些项目将在FavReal tableView中正确加载,但我的目标是当我点击任意一行时,右侧显示的“详细信息”将加载而不是DetailsViewController。
我试过这个FavReal.m中的代码,但我总是得到:“应用程序试图在目标上推送一个nil视图控制器。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
Details * vc4 = [self.storyboard instantiateViewControllerWithIdentifier:@"Details"];
[self.navigationController pushViewController:vc4 animated:YES];
}
感谢您的时间,如果需要进一步的详细信息,请告诉我
答案 0 :(得分:0)
如果有人遇到与我相同的问题,我找到的唯一解决方案是不加载不同的视图控制器并替换原来的detailViewController,但实际的解决方案是创建一个新的故事板并使其出现时点击收藏夹按钮,这样你就会有一个漂亮的时尚效果,并保持你的数据显示准确。为此,请使用以下代码行:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* initialHelpView = [storyboard instantiateInitialViewController];
initialHelpView.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:initialHelpView animated:YES];
您可以随意更改模态演示文稿。祝您好运