I ran into a problem accessing photo library in iOS7 (iOS6 is OK). It seems navigation bar overlaps the photo album view, I tried to set picker.edgesForExtendedLayout = UIRectEdgeNone;
but it doesn't work.
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
picker.edgesForExtendedLayout = UIRectEdgeNone;
}
[self presentViewController:picker animated:YES completion:nil];
Look at my screenshot
This works for me:
UIImagePickerController set translucent = NO to navigation Bar
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.navigationController.navigationBar.translucent = NO;
After this, implement this code in your UIImagePickerController delegate:
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
if ([navigationController isKindOfClass:[UIImagePickerController class]])
{
viewController.navigationController.navigationBar.translucent = NO;
viewController.edgesForExtendedLayout = UIRectEdgeNone;
}
}
Swift version of the above answer:
func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
if navigationController.isKindOfClass(UIImagePickerController.self) {
viewController.navigationController!.navigationBar.translucent = false
viewController.edgesForExtendedLayout = .None
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With