I use UIImagePickerController to record, edit and save videos to a file. When the UIImagePickerController is rejected, the status bar blinks red and disappears. I want to avoid this. I noticed this with a decrease in frequency from iOS8.1, iOS8, iOS7.1, etc.
- (void) cameraClicked{
self.recordState=KRERecordStateRecording;
UIImagePickerController *pickerController = [[UIImagePickerController alloc] init];
pickerController.delegate = self;
pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
if(self.mediaType==MediaTypePhoto){
pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
}else if(self.mediaType==MediaTypeVideo){
pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];
pickerController.allowsEditing = YES;
pickerController.videoMaximumDuration=30.0f;
}
[self presentViewController:pickerController animated:YES completion:nil];
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo{
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info{
[picker dismissViewControllerAnimated:YES completion:nil];
NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0)
== kCFCompareEqualTo) {
self.selectedMedia = [[NSArray alloc] initWithObjects:[info objectForKey:UIImagePickerControllerOriginalImage], nil];
[self saveMedia];
}else if(CFStringCompare ((CFStringRef) mediaType, kUTTypeMovie, 0)
== kCFCompareEqualTo){
videoURL= [info objectForKey:UIImagePickerControllerMediaURL];
[self saveMedia];
}
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[picker dismissViewControllerAnimated:YES completion:nil];
}
source
share