【问题标题】:How do I switch Front View Controller using PKRevealController?如何使用 PKRevealController 切换前视图控制器?
【发布时间】:2013-04-05 14:00:51
【问题描述】:

我正在一个新的应用项目中使用 PKRevealController,你可以在这里获得它:https://github.com/pkluz/PKRevealController

我遇到的问题是正确更改前视图控制器中显示的视图。

例如,我将前视图向左或向右滑动,并有一个选项列表,例如设置。如果我点击它,我希望前视图控制器滑回原位并显示设置视图控制器的视图。

我可以显示一个新视图,但它会删除导航控制器并弄乱视图的大小。

有没有人成功地弄清楚如何使用 PKRevealController 做到这一点?

非常感谢任何提示或建议!

【问题讨论】:

  • @Livio 的回答是正确的,你应该标记为已回答。
  • 你用这个答案解决了你的问题吗?我也有同样的问题

标签: objective-c uiview uiviewcontroller uinavigationcontroller uigesturerecognizer


【解决方案1】:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == leftMenu) {
        // Load new front view
        UIViewController *myNewUIViewController = [[MyNewUIViewController alloc] initWithNibName:@"MyNewUIViewController" bundle:nil];
        UINavigationController *myNavController = [[UINavigationController alloc] initWithRootViewController:myNewUIViewController];
        [self.revealController setFrontViewController:myNavController];
        // Putting back the front view on focus
        [self.revealController showViewController:self.revealController.frontViewController];
    }
}

【讨论】:

  • 这不会浪费很多内存吗?正在显示的 navController 会发生什么?考虑一种替代方法是在创建时将一组视图控制器存储在侧边栏视图控制器中。这类似于标签栏视图控制器。如果侧边栏中有很多行,这可能不是最好的方法,但我认为上面的方法也不能很好地解决这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 2015-04-17
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多