按下导航后退按钮时,SWRevealViewController关闭左侧视图

时间:2015-11-03 04:15:46

标签: ios objective-c swrevealviewcontroller

我有一个前视图控制器和一个滑动侧视图..在按下导航栏后退按钮时,我一直在弹出viewcontroller,到前一个视图控制器。我希望我的侧视图滑出,如果按下后退按钮时它打开了。

我的代码是       我有一个带后退按钮的导航栏:

 [navbar.backViewButton addTarget:self action:@selector(backBtnClicked) forControlEvents:UIControlEventTouchUpInside];

按下后退按钮:

-(void)backBtnClicked{
[self.navigationController popViewControllerAnimated:YES];
}

我知道我可以将revealtoggle添加为:

-(void)backBtnClicked{
[self.revealViewController revealToggleAnimated:YES];
[self.navigationController popViewControllerAnimated:YES];
}

但是这给我一个问题,如果侧面视图先前被关闭,它会打开并打开它,这是我不想按下后退按钮的东西。

我想要像

这样的东西
-(void)backBtnClicked{
 if([self.revealViewController isSideViewAppeared or isSideviewShowing]){     
[self.revealViewController revealToggleAnimated:YES];
}
[self.navigationController popViewControllerAnimated:YES];
}

需要帮助..提前致谢

5 个答案:

答案 0 :(得分:1)

我找到了答案,我只是试图将旁视图显示并消失为:

[self.revealViewController revealToggleAnimated:YES];

正在打开和关闭左视图..简单的解决方案是

-(void)backBtnClicked{


[self.revealViewController rightRevealToggleAnimated:YES];
[self.navigationController popViewControllerAnimated:YES];
}

答案 1 :(得分:0)

创建一个bool属性,用于存储它是打开还是关闭。在viewWillAppear中根据所述属性打开或关闭它。

答案 2 :(得分:0)

您必须使用render: function (data, type, row) { switch (type) { case 'display' : return addEllipsis(data, 6); break; default : return data; break; } } 导航方法进行弹出和推送。

将此代码写入后退按钮操作方法。

SWRevealViewController

可能会帮助你。

答案 3 :(得分:0)

要在使用SWRevealViewController时手动关闭幻灯片菜单,请试试:self.revealViewController().revealToggle(animated: true)

答案 4 :(得分:0)

Use this code at button action.

if (self.revealViewController.frontViewPosition == 4){

            [self.revealViewController revealToggleAnimated:YES];
}