I have a storyboard where I created a UINavigationController
instance and set its custom class to UIImagePickerController
.
If I set imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera
in prepareForSegue
, everything works fine.
If I set imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary
in prepareForSegue
, I get a mostly black screen with an empty gray bar on top that I can't dismiss:
[future location of screenshot - I cannot post images]
I can work around this by not using the storyboard. The question I have-- can this be made to work with the storyboard? If not, why not? Why does it only work for presenting the camera?
EDIT: A colleague comments that this may be a new issue for ios7
The code below doesn't work if the segue is triggered by a storyboard
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSAssert([segue.destinationViewController isKindOfClass:[UIImagePickerController class]], @"Destination VC should be UIImagePickerController");
UIImagePickerController *imagePicker = (UIImagePickerController*) segue.destinationViewController;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.allowsEditing = YES;
imagePicker.delegate = self;
}
This question is a duplicate of iOS7 Storyboard image picker not working :(
The answer there:
Initialize the controller
UIImagePickerController *controller = [[segue destinationViewController] init];
...appears to work for most people, so I've recommended this be closed as duplicate of that question which has been answered for awhile.
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