如何使 REFrostedViewController 与 UINavigationController 一起工作

Posted

技术标签:

【中文标题】如何使 REFrostedViewController 与 UINavigationController 一起工作【英文标题】:how to make REFrostedViewController work with UINavigationController 【发布时间】:2014-03-19 14:13:20 【问题描述】:

我正在使用 REFrostedViewController 库在我的项目中显示侧边栏菜单,其中有一个表格视图来显示内容。

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

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

【问题讨论】:

【参考方案1】:

在我的设置中,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。对我来说,它就是这样工作的。

【讨论】:

以上是关于如何使 REFrostedViewController 与 UINavigationController 一起工作的主要内容,如果未能解决你的问题,请参考以下文章

如何使 RelativeLayout 半透明但不使活动

如何用word使图片上下居中

如何使图像自动调整大小,使宽度为 100% 并相应调整高度?

如何使 UISegmentedcontrol 透明?

如何使 textarea 填充 div 块?

如何使 UITableViewCell 显示为禁用?