从幻灯片菜单中的视图(其中一个选项)切换到菜单中的另一个选项,按下按钮和WITH导航栏

时间:2013-12-16 16:01:08

标签: ios objective-c storyboard viewcontroller saslidemenu

出于测试目的,我正在使用Github上提供的演示。搜索SASlideMenu以查找github仓库。

屏幕截图1:

截图2:

好的,所以我在我的应用程序中使用SASlideMenu,这就是我想要做的事情:

简而言之,我想通过按钮按下蓝色页面(带按钮的按钮,按下按钮以获取屏幕截图1)到菜单中的另一个选项。我已经添加了选项以将屏幕截图1转到菜单并单击此选项,它会将我带到顶部的导航栏。

问题是,当我按下“按我进入屏幕截图1”按钮时,它会转到屏幕截图1页面,而视图顶部没有导航栏。我使用模态segue将按钮链接到屏幕截图1中显示的视图。

我希望此视图的导航栏与蓝色屏幕截图一样。

这可能吗?

我希望这很清楚。如果您需要任何澄清,请随时提出。

1 个答案:

答案 0 :(得分:0)

您不能在不同的视图中重复使用顶部栏,因为它就在这里

但以下可能是解决方案

1。如果顶栏是导航栏,则再次使用push segue而不是模态和设置按钮

2. 如果你想使用相同的顶栏,只需通过编写自定义segue来模仿模态视图演示

//模仿模态预设的代码与此类似

- (void)perform
{

    //add as subview with origin y at bottom -50 
    CGRect frame = [[self destinationViewController] view].frame;
    frame.origin.y = [[self sourceViewController] view].frame.size.height -50;
    [[self destinationViewController] view].frame = frame;


    [[[self sourceViewController] view] addSubview:[[self destinationViewController] view]];

    //animate frame with new y postion
    [UIView animateWithDuration:0.5 animations:^{

        CGRect frame = [[self destinationViewController] view].frame;
        frame.origin.y =[[self sourceViewController] view].frame.origin.y - SOME_OFFSET_VALUE_TO_SHOW_TOP_BAR;
        [[self destinationViewController] view].frame = frame;

    }];
}

3 。如果您不想模态segue,那么只需使用2中的自定义segue,并将您的视图(白色)添加为导航栏下方区域的子视图