【问题标题】:Toolbar is not hidden after seguesegue后工具栏不隐藏
【发布时间】:2014-02-10 08:39:41
【问题描述】:

通过 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:当然我可以在每个屏幕上隐藏工具栏,但是我想避免这种不必要的操作,并且想知道如何正确地做到这一点。

【问题讨论】:

    标签: ios iphone uitoolbar uistoryboardsegue


    【解决方案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:** 在接口中连接

    希望对你有所帮助!

    【讨论】:

    • 谢谢,但我的问题不在于设置工具栏的隐藏属性。
    • ops 我不明白你的问题,想要在点击后视图(幻灯片动画)时移动工具栏吗?或者您在显示工具栏时遇到问题,您可以发布您的界面屏幕吗?
    • 问题是当 popToRootViewControllerAnimated() & performSegueWithIdentifier() 操作因此执行时工具栏没有消失。其实就是下拉菜单导航。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多