多个左/右面板(SWRevealViewController)

时间:2014-02-24 08:47:18

标签: objective-c xcode uistoryboard uistoryboardsegue

我正在使用SWRevealViewController创建滑动面板(如Facebook应用程序)。我使用segue标识符sw_rear和sw_right。但是,我似乎只能看到其中之一。

如何创建多个面板?

我正在使用本教程:http://www.appcoda.com/ios-programming-sidebar-navigation-menu/

这是我在ViewControllers中设置左右面板的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Set the side bar button action. When it's tapped, it'll show up the sidebar.
    _leftSidebarButton.target = self.revealViewController;
    _leftSidebarButton.action = @selector(revealToggle:);

    // Set the side bar button action. When it's tapped, it'll show up the sidebar.
    _rightSidebarButton.target = self.revealViewController;
    _rightSidebarButton.action = @selector(rightRevealToggle:);

    // Set the pan gesture recognizer
    [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];

    // Set the tap gesture recognizer
    [self.view addGestureRecognizer:self.revealViewController.tapGestureRecognizer];
}

3 个答案:

答案 0 :(得分:0)

使用这个简单的库 https://github.com/arturdev/AMSlideMenu 在演示项目中,您可以看到如何在一个应用程序中实现多个菜单。

答案 1 :(得分:0)

在委托文件

中的SWRevealViewController定义之后,只需添加以下行
    RightViewController *rightViewController = (RightViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"RightViewController"];

显然,你需要在故事板中使用正确标识符的UI RightViewController 您的代码应该是这样的:

    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
    SWRevealViewController *mainViewController = (SWRevealViewController *)[mainStoryboard
                                                                            instantiateViewControllerWithIdentifier:@"MainViewController"];

    RightViewController *rightViewController = (RightViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"RightViewController"];


    mainViewController.rightViewController = rightViewController;

    self.window.rootViewController = mainViewController;
    return YES;

我希望能帮到你

答案 2 :(得分:0)

也遇到了这个问题。如果您正在使用故事板,请确保SWRevealViewController将VC 设置为以显示在右侧,而则设置为