如何使REFrostedViewController与UINavigationController一起使用

时间:2014-03-19 14:13:21

标签: ios uitableview uinavigationcontroller

我正在使用 REFrostedViewController 库在我的项目中显示侧栏菜单,其中有一个用于显示内容的tableview。

选择表格单元格后,我想显示一个新页面。我想使用UINavigationController在顶部推送一个新视图。但似乎REFrostedViewController上下文中没有UINavigationController堆栈。

如何实现UINavigationController行为以使用REFrostedViewController?

1 个答案:

答案 0 :(得分:0)

在我的设置中,FrostedViewController从一开始就是rootViewController。它的contentViewController是我的NavigationViewController。在AppDelegate中,我做了以下事情:

TMSlideMenuViewController *menuController = [[[[self window] rootViewController] storyboard] instantiateViewControllerWithIdentifier:@"slideMenuViewController"];
REFrostedViewController *frostedViewController = [[REFrostedViewController alloc] initWithContentViewController:self.window.rootViewController menuViewController:menuController];

self.window.rootViewController = frostedViewController;

在TMSlideMenuViewController中,didSelectRowAtIndexPath方法可以执行此操作:

TMNavigationController* navigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"tmNavigationController"];

switch (indexPath.item) {
    case 0:
        // Favorites

        frostedViewController.contentViewController = navigationController;
        [navigationController pushViewController:sourcesViewController animated:YES];
        break;

为了推送ViewController,您应该将contentViewController设置为您的NavigationController。对我来说,它就是这样的。