我在使用segue离开屏幕时隐藏工具栏时遇到了麻烦。
详细信息:App有几十个屏幕,所有屏幕都属于同一个导航控制器。一些屏幕有工具栏。对于-(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];
因此工具栏仅在必要的屏幕上可见,而需要工具栏的屏幕控制可见性。当我按“后退”按钮导航时,一切正常。
当我尝试像这样使用segue导航时出现问题(转到home并转到另一个分支)。
-(void)viewWillDisappear
尽管调用隐藏工具栏的{{1}},工具栏仍然可见。
有没有想法如何以正确的方式执行这些“ToolBarHidden”。
谢谢
PS:当然我可以在每个屏幕上隐藏工具栏,但我想避免这种不必要的操作,并且想要知道如何正确操作。
答案 0 :(得分: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:**
在Intrface中连接
希望这对你有帮助!