Ben*_*Ben 5 objective-c statusbar modalviewcontroller ios
所以我在Xcode中使用"Utility Application"模板并拥有主视图控制器,用户可以使用按钮隐藏和显示状态栏.我还有一个Flipside View控制器,使用模态segue,它有一个完成按钮返回到主VC.我已将其设置为每次查看Flipside VC时,状态栏始终不会被隐藏.这意味着如果用户隐藏主VC上的状态栏并转换到Flipside VC,它将动画显示,如果用户没有隐藏状态栏并且他们转换,则状态栏没有任何反应.
这一切都很好,问题是从转变回到贫乏VC到主VC.我需要一个条件来检查主VC中状态栏的隐藏状态,当按下完成按钮时,它将在Flipside VC中调用.
我已经研究过使用BOOL和NSNotificationCenter向Flipside VC发送有关状态栏状态的消息.
我有这个代码:
-(BOOL)checkStatusBarHidden:(id)input
{
BOOL result;
if ([UIApplication sharedApplication].statusBarHidden = YES)
{
result = YES;
}
else
{
result = NO;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但这只是猜测和思考我可以在某处使用它来通知Flipside VC状态栏状态.我想到也许改变了
[UIApplication sharedApplication].statusBarHidden = YES)
Run Code Online (Sandbox Code Playgroud)
喜欢的东西
self.statusBarHidden = YES //which of course isn't going to work
Run Code Online (Sandbox Code Playgroud)
但无论如何,正如我所说,这是在猜测,我不知道该怎么做.
MainViewController您可能会考虑在使用属性中存储有关状态栏状态的信息,例如
MainViewController.h@property (nonatomic, assign) BOOL statusBarHidden;
Run Code Online (Sandbox Code Playgroud)
然后您可以FlipsideViewController使用该presentingViewController属性访问该值。
FlipsideViewController.hMainViewController * mainVC = self.presentingViewController;
if (mainVC.statusBarHidden) {
// Do stuff
}
Run Code Online (Sandbox Code Playgroud)
最后,请将您的方法更改checkStatusBarHidden:为类似的方法
- (BOOL)checkStatusBarHidden {
return [UIApplication sharedApplication].statusBarHidden;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5290 次 |
| 最近记录: |