我希望状态栏保持黑色不透明,同时显示照片库选择器(照片选择器将其更改为黑色半透明),这解决了我的问题。
设置UIImagePickerDelegate:
libraryUI.delegate = self;
实现下面的回调:
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated {
if ([navigationController isKindOfClass:[UIImagePickerController class]] &&
((UIImagePickerController *)navigationController).sourceType == UIImagePickerControllerSourceTypePhotoLibrary) {
[[UIApplication sharedApplication] setStatusBarHidden:NO];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque animated:NO];
}
}
您可以在这里指定任何一种状态栏风格。在你的情况下,你可能需要删除sourceType检查并指定UIStatusBarStyleBlackTranslucent
。
哦,这是行不通的。我也尝试过UIApplication的子类化,但它也没有工作。也许UIImagePickerController正在使用私有方法。 – Eonil 2010-06-06 04:49:31