我正在使用MMdrawerController
在我的项目中练习侧抽屉控制器。但是当我点击左侧的菜单按钮,然后点击选中的行时,它打开就好了,但相应的视图没有显示视图左侧的菜单项(抽屉菜单按钮)。所以我不能做出任何进一步的选择。
我使用故事板。
来自MydrawerController
的示例代码
我浏览抽屉桌面视图中的单元格。
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.delegate drawerMenuViewController:self didSelectMenuSection:indexPath.row];
switch ((MMDrawerMenuViewControllerSection)indexPath.row) {
case MMDrawerMenuViewControllerSectionProfile:
[self.mm_drawerController setCenterViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"MMProfileViewController"] withCloseAnimation:YES completion:nil];
break;
default:
break;
}
}
我的中心视图就是这样做:
-(void)setupLeftMenuButton{
MMDrawerBarButtonItem *leftDrawerButton=[[MMDrawerBarButtonItem alloc]initWithTarget:self action:@selector(leftDrawerButtonPress:)];
[self.navigationItem setLeftBarButtonItem:leftDrawerButton animated:YES];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)leftDrawerButtonPress:(id)sender{
[self.mm_drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
}
-(void)doubleTap:(UITapGestureRecognizer*)gesture{
[self.mm_drawerController bouncePreviewForDrawerSide:MMDrawerSideLeft completion:nil];
}
我的另一个无法显示菜单项的视图控制器具有上面给出的相同按钮处理程序。但仍然没有显示菜单项。
答案 0 :(得分:-1)
从侧视图将控制器推入centerView是不可能的,我已经完成了这个但需要使用委托,我已经将协议定义到左侧控制器中,如
@protocol LGSettingDrawerControllerDelegate <NSObject>
- (void)pushControllerWithIndex:(NSIndexPath*)indexPath;
@end
@property (nonatomic, weak) id<LGSettingDrawerControllerDelegate> delegate;
并在
in
.m文件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (_delegate != nil) {
[_delegate pushControllerWithIndex:indexPath];
}
[self.menuContainerViewController setMenuState:MFSideMenuStateClosed];
}
这个委托方法确实推动了中心视图控制器,如
[self.mm_drawerController setCenterViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"MMProfileViewController"] withCloseAnimation:YES completion:nil];