2014-02-09 160 views
1

當我通過segue離開屏幕時,我無法隱藏工具欄。工具欄在segue後不會隱藏

詳情:應用程序有幾十個屏幕,它們都屬於同一個導航控制器。幾個屏幕有工具欄。對於-(void)viewDidLoad這幾個屏幕我用

[self.navigationController setToolbarHidden:NO animated:NO]; 

-(void)viewWillDisappear:(BOOL)animated:

[self.navigationController setToolbarHidden:YES animated:YES]; 

所以工具欄是可見只在必要的屏幕和它需要的工具欄控件的可見性的畫面。當我通過「返回」按鈕導航時,所有工作都很好。

當我嘗試像這樣繼續導航時出現問題(轉到主頁&轉到另一個分支)。

[owner.navigationController popToRootViewControllerAnimated:NO]; 
[self performSegueWithIdentifier:SEGUE_NAME sender:self]; 

工具欄保持可見狀態,儘管打電話給-(void)viewWillDisappear應該隱藏工具欄。
有什麼想法如何通過正確的方式執行這些「ToolBarHidden」。

感謝

PS:當然,我可以在每個屏幕上隱藏工具欄,但我想避免這種不必要的操作,想知道怎麼做是正確的。

回答

1

**STEP1:**controller.h

@interface ViewController : UIViewController { 

    UIToolbar *bar; 
} 

@property (nonatomic, strong) IBOutlet UIToolbar *bar; 

@end 

**STEP2:**controller.m

@synthesize bar; 

- (void)viewDidAppear:(BOOL)animated { 

     [super viewDidAppear:animated]; 
     self.bar.hidden = NO; 

} 

- (void)viewDidDisappear:(BOOL)animated { 

     [super viewDidDisappear:animated]; 
     self.bar.hidden = YES; 
} 

**STEP3:**連接在工程接口類

enter image description here

希望這對你有所幫助!

+0

謝謝,但我的問題不是關於設置工具欄的隱藏屬性。 – user3124812

+0

ops我不明白你的問題,想要在點擊後視圖(幻燈片動畫)時移動工具欄?或者您在顯示工具欄時遇到問題,您是否可以發佈界面的屏幕? – BlackSheep

+0

問題是當操作popToRootViewControllerAnimated()&performSegueWithIdentifier()因此執行時,工具欄不會消失。實際上,它是通過下拉菜單導航的。 – user3124812