不同ViewControllers上的侧边栏使用相同的SWRevealViewController

时间:2016-01-25 09:55:52

标签: ios swrevealviewcontroller

我使用SWRevealViewController创建了侧栏。在此我使用HomeViewController作为SidebarViewController作为正确。 我的SidebarViewController包含UITableView(具有不同的主题名称)。我想在选择任何主题时打开一个新ViewControllerQuestionsViewController。 现在我的问题是我想再次使用SWRevealViewControllerQuestionViewController中添加侧边栏,但在SWRevealViewController前面的segue sw_front标识符是一个常量字符串,所以如何更改它或者有任何其他方式在QuestionViewController中使用该侧边栏。

简而言之:我们可以使用ViewControllers

在不同的SWRevelViewController中使用相同的侧边栏吗?

3 个答案:

答案 0 :(得分:0)

只需使用“显示视图控制器设置控制器”segue将您的RevealViewController连接到新的视图控制器

Resultant image added

答案 1 :(得分:0)

试试这个: 使用HomeViewController创建NavigationViewController, 将RevealViewController转换为NavigationController为"显示视图控制器设置控制器", segue HomeViewController到QuestionViewController为" show", 同时在NavBar的左侧添加"栏按钮项目"(名为:" OpenSideBar"), 在swift文件中创建一个插座,然后添加到viewDidLoad:

    OpenSideBar.target = self.revealViewController()
    OpenSideBar.action = Selector("revealToggle:")

**为我工作

答案 2 :(得分:0)

我得到了一个解决方案,我们可以使用以下代码更改前后ViewControllers

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
[self.revealViewController setRightViewController:[storyBoard instantiateViewControllerWithIdentifier:@"SideBarVC"]]; // To change rightViewController
[self.revealViewController setFrontViewController:[storyBoard instantiateViewControllerWithIdentifier:@"HomeVC"] animated:YES]; // To change frontViewController

为此,我们必须使用SWRevealViewControllerSeguePushController作为其他FrontViewControllers

的segue类

感谢大家的帮助。