无法使用MFSidemenu加载viewController

时间:2013-04-06 18:33:07

标签: ios objective-c xcode

我正在使用故事板构建应用程序。我正在使用MFSidemenu库来创建像facebook应用程序这样的sidemenu。侧边菜单显示正常,但当我点击侧面菜单上的单元格时,菜单不会消失,它不会加载另一个视图控制器。请注意我正在使用故事板。

谢谢。

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



UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
AlbumsTableVIewController *AlbumsViewController = [storyboard instantiateViewControllerWithIdentifier:@"Albums"];

AlbumsViewController.title=[NSString stringWithFormat:@"Demo Controller #%d-%d", indexPath.section, indexPath.row];


NSArray *controllers = [NSArray arrayWithObject:AlbumsViewController];
self.sideMenu.navigationController.viewControllers = controllers;
[self.sideMenu setMenuState:MFSideMenuStateClosed];

}

1 个答案:

答案 0 :(得分:3)

您必须向MainMenu控制器实施委托方法,因为如果您放置上述代码,则会更改您的sideMenu而不是MainMenu。我在这里使用故事板。这是我MainMenuController

上的代码
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
UINavigationController *navigationController = (UINavigationController *)self.navigationController;

UIViewController *leftSideMenuViewController = [storyboard instantiateViewControllerWithIdentifier:@"leftSideMenuViewController"];
UITableViewController *SideMenu=(UITableViewController *)leftSideMenuViewController;
SideMenu.delegate=self; //here is the delegate
[MFSideMenu menuWithNavigationController:navigationController
                  leftSideMenuController:SideMenu
                 rightSideMenuController:nil];

所以你需要从这里与你的viewController联系,通过委托模式进行导航。