我的应用程序中有一个二维码阅读器。阅读器扫描代码后,会将应用程序带到调查页面。我正在尝试让调查页面隐藏状态栏。这是我的代码:
- (void)zxingController:(ZXingWidgetController*)controller didScanResult:(NSString *)result {
// self.resultsToDisplay = result;
if (self.isViewLoaded) {
[[NSBundle mainBundle] loadNibNamed:@"yellaViewController" owner:self options:nil];
initWithNibName:@"yellaViewController" bundle:[NSBundle mainBundle]];
[topImage setImage:[UIImage imageNamed:@"yellalogoREAL.png"]];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
这对我不起作用,状态栏仍然可见。我究竟做错了什么?
另外:有没有一种方法可以使用相同的 if 语句隐藏调查页面上的 tabbarcontroller?
最佳答案
在ZxingController的viewDidAppear中:(ZxingWidgetController.m)
self.isStatusBarHidden = [[UIApplication sharedApplication] isStatusBarHidden];
if (!isStatusBarHidden)
[[UIApplication sharedApplication] setStatusBarHidden:YES];
它缓存了以前的状态栏状态,当你退出 ZxingController 时,在 viewDidDisappear 中:
if (!isStatusBarHidden)
[[UIApplication sharedApplication] setStatusBarHidden:NO];
由于ZxingController中的viewDidDisappear会进入zxingController:didScanResult:
所以你在 zxingController:didScanResult: 中的 setStatusBarHidden: 是没有用的。
关于iphone - 使用 if 语句隐藏状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14307240/