检查用模态视图控制器隐藏的 iOS 状态栏

2024-04-20

所以我在 Xcode 中使用“实用程序应用程序”模板并拥有主视图控制器,用户可以使用按钮隐藏和显示状态栏。我也有反面视图控制器,使用模态转场,它有一个完成按钮可以返回到Main VC。我已将其设置为每次查看时反面VC,状态栏始终不隐藏。这意味着如果用户隐藏了状态栏Main VC并过渡到反面VC,它将开始动画,如果用户没有隐藏状态栏并且进行转换,则状态栏不会发生任何变化。

一切都好,问题是从反面VC to Main VC。我需要一个条件来检查状态栏的隐藏状态Main VC,这将被称为反面VC当按下完成按钮时。

我研究过使用 BOOL 以及 NSNotificationCenter 向反面VC关于状态栏的状态。

我有这个代码:

-(BOOL)checkStatusBarHidden:(id)input
{
    BOOL result;

    if ([UIApplication sharedApplication].statusBarHidden = YES)
    {
        result = YES;
    }
    else
    {
        result = NO;
    }

    return result;
}

但这只是猜测和思考我也许可以在某个地方使用它来通知反面VC状态栏状态。我想也许改变

[UIApplication sharedApplication].statusBarHidden = YES)

类似的东西

self.statusBarHidden = YES //which of course isn't going to work

但无论如何,正如我所说,这是猜测,我不知道该怎么做。


您可能会考虑将有关状态栏状态的信息存储在MainViewController使用属性,例如

In your MainViewController.h

@property (nonatomic, assign) BOOL statusBarHidden;

然后您可以从以下位置访问该值FlipsideViewController使用presentingViewController财产。

In your FlipsideViewController.h

MainViewController * mainVC = self.presentingViewController;
if (mainVC.statusBarHidden) {
   // Do stuff
}

作为最后的评论,please改变你的checkStatusBarHidden:类似的方法

- (BOOL)checkStatusBarHidden {
    return [UIApplication sharedApplication].statusBarHidden;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查用模态视图控制器隐藏的 iOS 状态栏 的相关文章

随机推荐