我的应用中有QR码阅读器。读者扫描代码后,会将应用程序带到调查页面。我试图让调查页面隐藏状态栏。这是我的代码:
- (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?
答案 0 :(得分:2)
在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中的setStatusBarHidden:didScanResult:没用。