在我的iPad应用中,我使用popoverController来呈现一个viewController。如果我用这个viewController初始化popover,一切都很好。
但是,如果我使用此viewcontroller作为navigationController的根控制器,并使用navigationController初始化弹出框,则状态栏文本会在演示后消失。
我在演示文稿后检查了UIStatusBarHidden
和UIStatusBarStyle
,它们很好,没有隐藏,仍然是UIStatusBarStyleLightContent
。
那个状态栏在哪里?
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:settingsController];
thisPopoverController = [[UIPopoverController alloc] initWithContentViewController:navController];
thisPopoverController.delegate = self;
settingsController.popOverController = thisPopoverController;
UIView *presentView = self.view.superview;
CGRect presentRect = [selectedCell convertRect:[selectedCell bounds] toView:presentView];
[thisPopoverController presentPopoverFromRect:presentRect inView:presentView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
我刚刚发现,在弹出窗口后,statusBar的alpha设置为0 ...问题是没有办法设置alpha。这是怎么发生的?
答案 0 :(得分:0)
尝试使用委托方法popoverControllerDidDismissPopover:
来实现它- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
答案 1 :(得分:0)
试试这个,
settingsController.delegate = self;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:settingsController];
thisPopoverController = [[UIPopoverController alloc] initWithContentViewController:navController];
[thisPopoverController presentPopoverFromRect:<required frame> inView:<presenting View> permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];