![](/img/trans.png)
[英]Reloading view controller when navigation bar back button is pressed in swift 2
[英]SWRevealViewController close left side view when navigation back button pressed
我有一個前視圖控制器和一個滑動側視圖。在按下導航欄的后退按鈕時,我一直在將視圖控制器彈出到以前的視圖控制器。 如果要在按下“后退”按鈕時將其打開,我希望側視圖可以滑出。
我的代碼是我有一個帶有后退按鈕的導航欄,如:
[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];
}
需要幫助。。在此先感謝
我找到了答案,我只是想使側面視點出現並消失為:
[self.revealViewController revealToggleAnimated:YES];
這是打開和關閉左視圖..簡單的解決方案是
-(void)backBtnClicked{
[self.revealViewController rightRevealToggleAnimated:YES];
[self.navigationController popViewControllerAnimated:YES];
}
創建一個bool屬性來存儲它是打開還是關閉。 在viewWillAppear中,根據所述屬性將其打開或關閉。
您必須使用SWRevealViewController
導航方法進行彈出和推送。
將此代碼寫入后退按鈕操作方法。
UINavigationController *frontNavigationController = (id)revealController.frontViewController;
if ([frontNavigationController.topViewController isKindOfClass:[YourViewController class]] )
viewwaboutus=[[FlashViewController alloc]init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewwaboutus];
[revealController pushFrontViewController:navigationController animated:YES];
}
可能會對您有幫助。
若要在使用SWRevealViewController時手動關閉幻燈片菜單,請嘗試一下: self.revealViewController().revealToggle(animated: true)
在按鈕操作時使用此代碼。
if (self.revealViewController.frontViewPosition == 4){
[self.revealViewController revealToggleAnimated:YES];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.