首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >退出MMDrawerController左视图控件

退出MMDrawerController左视图控件
EN

Stack Overflow用户
提问于 2016-08-27 16:47:51
回答 1查看 148关注 0票数 2

我正在使用MMDrawerController。我在LeftViewController中使用LeftViewController来显示自定义单元格中的数据。

当我单击bar按钮时,LeftViewController从左边滑出。

单击我的ViewControler的自定义单元格后,我想从LeftViewController重定向到其他TableView

在我的LeftViewController中,我使用以下代码

代码语言:javascript
复制
-(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];

}

注意:CenterViewControllerViewControllerStoryboard ID

通过使用上面的代码,ViewController出现在LeftViewController之上,但是我想关闭LeftViewController并重定向到ViewController

我使用了下面的代码,虽然它可以工作,但是然后向左滑动,在ViewController上不工作。

代码语言:javascript
复制
-(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];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-28 04:52:10

我认为你有以下几种选择:

  1. UITableViewDelegate中实现CenterViewController,并将CenterViewController实例指定为LeftViewControllerUITableView的委托。
  2. LeftViewController创建一个委托,这样您就可以将UITableViewDelegate的逻辑保留在LeftViewController中,并在CenterViewController中实现新的委托,并将其指定为LeftViewController的委托。
  3. 当用户选择LeftViewControllerUITableView中的项并添加CenterViewController作为通知的观察者时,可以使用CenterViewController发布通知。

更新1

嗨,在我看到的代码中,您正在分配一个新的rootViewController,可能会用您自己的ViewControler替换MMDrawerController的实例,因此您就松开了滑动手势。

也许您唯一需要的就是将中心控制器分配给MMDrawerController调用setCenterViewController:

而不是

代码语言:javascript
复制
app.window.rootViewController = navcon;

使用

代码语言:javascript
复制
[drawerControllerInstance setCenterViewController:navcon];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39183499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档