Search code examples
iosobjective-cuiimagepickercontrollervideo-capturephoto-gallery

Is is possible to change title of `UIImagePickerController`when choosing videos?


I have open photo gallery for choosing video. Here is my code :





- (void)selectMediaFrom:(UIImagePickerControllerSourceType)sourceType {
     UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.sourceType = sourceType;
    imagePicker.delegate = self;
    //imagePicker.allowsEditing = YES;

    if (selectedMediaType == MediaVideos) {
        imagePicker.mediaTypes = @[(NSString *)kUTTypeMovie, (NSString *)kUTTypeVideo];
        if (sourceType == UIImagePickerControllerSourceTypeCamera) {
            imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
        }
    }
    else if (selectedMediaType == MediaPhotos) {
        imagePicker.mediaTypes = @[(NSString *)kUTTypeImage];
        if (sourceType == UIImagePickerControllerSourceTypeCamera) {
            imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
        }
    }

    if (IS_IPHONE) {
        [self presentViewController:imagePicker animated:TRUE completion:nil];
    }
    else {
        dispatch_async(dispatch_get_main_queue(), ^{

            [self setModalPresentationStyle:UIModalPresentationFormSheet];
            [self presentViewController:imagePicker animated:TRUE completion:nil];
        });
    }
}



And it is always showing title of UIImagePickerController as Photos, See screenshot I have attached.

imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary and imagePicker.mediaTypes = @[(NSString *)kUTTypeMovie, (NSString *)kUTTypeVideo]

But, I have open iPhone default Photos app and check, that shows videos folder : See below

Default Photos App

Then why it is not showing Videos title ? Can we change it ?


Solution

  • Yes You can change the title of Navigation which you want.

    Add the delegate of UINavigationControllerDelegate

    Swift 3.0

    func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool){
        viewController.navigationItem.title = "Kirit Modi"
    }
    

    Objective C

    - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{
        [viewController.navigationItem setTitle:@"Kirit Modi"];
    }
    

    See Output :

    enter image description here