我正在使用 MMDrawerController 。我使用 LeftViewController 中的 TableView 在自定义单元格中显示我的数据。
LeftViewController 当我单击条形按钮时从左侧滑出。
单击我的 TableView 的自定义单元格后,我想从 LeftViewController 重定向到其他 ViewControler 。
在我的 LeftViewController 我使用下面的代码
-(void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath
{
[self performSegueWithIdentifier"CenterViewController" sender:self];
}
-(void)prepareForSegueUIStoryboardSegue *)segue senderid)sender
{
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
ViewController *VC = (ViewController *)[segue destinationViewController];
}
注意:CenterViewController 是ViewController 的Storyboard ID
通过使用上面的代码,ViewController 出现在 LeftViewController 的顶部,但我想关闭 LeftViewController 并重定向到 ViewController
我使用了下面的代码,虽然它可以工作,但是在 ViewController 上左右滑动不起作用
-(void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)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];
}
Best Answer-推荐答案 strong>
我认为您有以下选择:
- 在
CenterViewController 中实现UITableViewDelegate ,并将CenterViewController 实例赋值为中UITableView 的委托(delegate)>LeftViewController .
- 为
LeftViewController 创建一个 delegate,这样您就可以将 UITableViewDelegate 的逻辑保留在 LeftViewController 中并实现CenterViewController 中的新委托(delegate)并将其分配为 LeftViewController 的委托(delegate)。
- 使用
NSNotificationCenter 在用户选择LeftViewController 的UITableView 中的某项并添加CenterViewController 时发布通知> 作为通知的观察者。
更新 1
您好,在代码中,我看到您正在分配一个新的 rootViewController,可能会用您自己的 ViewControler 替换 MMDrawerController 的实例,因此您松开了滑动手势。
也许您唯一需要的是将中心 Controller 分配给 MMDrawerController 调用 setCenterViewController:
而不是
app.window.rootViewController = navcon;
使用
[drawerControllerInstance setCenterViewController:navcon];
关于ios - 从 MM 抽屉 Controller 退出左 View Controller ,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39183499/
|