iOS多导航控制器,带滑动菜单

时间:2012-11-08 12:26:53

标签: ios xcode4 uistoryboardsegue uiswipegesturerecognizer

我实施了一个类似刷卡菜单的Facebook,但我的导航问题。

我有3个ViewControllers

  • MainViewController,其中包含另外两个
  • HomeViewController,这是我的应用程序的“主页”
  • SwipeMenuViewController,其中包含进一步导航的按钮

现在我想从HomeViewController到第二页执行一个segue。 我在HomeViewController上放了一个按钮,cmd +将它拖到第二页,Action segue:Push。

当我运行应用程序时,我收到下一条错误消息:

Terminating app due to uncaught exception 'NSGenericException', reason:
'Push segues can only be used when the source controller is managed by
an instance of UINavigationController.'

所以基本上我想创建与facebook使用完全相同的导航,主页上的菜单按钮,或者左上角的后退按钮。

任何想法都会受到赞赏!

StoryBoard

Facebook like swipe menu

1 个答案:

答案 0 :(得分:1)

您可能需要考虑容器视图控制器。不要让菜单离开当前视图控制器并转到另一个菜单,而是在原始视图控制器的预定义视图中将菜单作为子视图控制器出现。

这有一些好处,如:

  1. 菜单的自定义动画显示/消失
  2. 部分屏幕菜单会让部分原始屏幕可见(让用户觉得它是一个菜单,但它们仍在同一个地方)
  3. 当用户触发菜单(滑动/点按/等)时,您会将菜单“子”视图控制器添加到(屏幕外)视图,然后将视图设置为可见位置(这可能就像更改框架一样简单) .origin.x)。被解雇时只是逆转了这个过程。