3

我有两节课;MasterView这是一个UIViewController显示我的 TableView 并且MyClass由于各种原因充当 TableView 的委托和数据源的一个。选择单元格时,我需要推送视图控制器 ( DetailView)。如何从 MyClass 推送视图?这就是我真正拥有的一切:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

if (!detailViewController) {
    detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
}

//Somehow push detailViewController
}
4

3 回答 3

2

有几种方法可以做到这一点。我假设您已经Masterview嵌入了UINavigationController权利?

您可以通过传递对您的引用来访问它,Masteriew然后使用:

[masterView.navigationController pushViewController:detailViewController animated:YES];

如果您Masterview与您的应用程序的委托有某种关联并且您想访问它,您也可以使用以下行:

MainClass *appDelegate = (MainClass *)[[UIApplication sharedApplication] delegate];
于 2013-06-08T18:31:24.040 回答
0

我的解决方案是在 UITableViewDelegate 上创建一个属性作为 UINavigationController,并在创建 tableViewDelegate 时简单地设置它。看起来好吗?

于 2018-09-09T02:51:01.327 回答
-1

如果您使用的是导航控制器,只需使用以下方法:

[self.navigationController pushViewController:(UIViewController *)viewController animated:(BOOL)animated];
于 2013-06-08T18:28:58.207 回答