ios - 如何使 REFrostedViewController 与 UINavigationController 一起工作

标签 ios uitableview uinavigationcontroller

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

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

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

最佳答案

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

关于ios - 如何使 REFrostedViewController 与 UINavigationController 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22508614/

相关文章:

ios - 推送通知警报来了两次

ios - 将 UIImage 传递给 RCTRootView

swift - 如何使用 alamofire 和 SwiftyJSON 构建对象

ios - 如何从导航栏中删除阴影线?

iphone - 如何在没有 uitableview 的情况下创建基于导航的应用程序

iphone - 导航栏 + presentModalViewController

ios - Xcode 4.5 Enterprise 签名问题(适用于 Xcode 4.3.3)

ios - Swift 中的垂直标签栏

ios - 从 UICollectionView 使用 Push Segue 时空白 UITableView

xamarin.ios - 将背景设置为 GroupTableViewBackgroundColor