我正在使用MMDrawerController。我在LeftViewController中使用LeftViewController来显示自定义单元格中的数据。
当我单击bar按钮时,LeftViewController从左边滑出。
单击我的ViewControler的自定义单元格后,我想从LeftViewController重定向到其他TableView。
在我的LeftViewController中,我使用以下代码
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"CenterViewController" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
ViewController *VC = (ViewController *)[segue destinationViewController];
}注意:CenterViewController是ViewController的Storyboard ID
通过使用上面的代码,ViewController出现在LeftViewController之上,但是我想关闭LeftViewController并重定向到ViewController

我使用了下面的代码,虽然它可以工作,但是然后向左滑动,在ViewController上不工作。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ViewController *ggg = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
UINavigationController *navcon = [[UINavigationController alloc] initWithRootViewController:ggg];
AppDelegate *app =[[UIApplication sharedApplication] delegate];
app.window.rootViewController = navcon;
[app.drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
}发布于 2016-08-28 04:52:10
我认为你有以下几种选择:
UITableViewDelegate中实现CenterViewController,并将CenterViewController实例指定为LeftViewController中UITableView的委托。LeftViewController创建一个委托,这样您就可以将UITableViewDelegate的逻辑保留在LeftViewController中,并在CenterViewController中实现新的委托,并将其指定为LeftViewController的委托。LeftViewController的UITableView中的项并添加CenterViewController作为通知的观察者时,可以使用CenterViewController发布通知。更新1
嗨,在我看到的代码中,您正在分配一个新的rootViewController,可能会用您自己的ViewControler替换MMDrawerController的实例,因此您就松开了滑动手势。
也许您唯一需要的就是将中心控制器分配给MMDrawerController调用setCenterViewController:
而不是
app.window.rootViewController = navcon;使用
[drawerControllerInstance setCenterViewController:navcon];https://stackoverflow.com/questions/39183499
复制相似问题