Разработка IOS, используя UITabBarController и UIImagePickerController, Как перейти с одной вкладки на другую? - PullRequest
0 голосов
/ 19 сентября 2011

Кажется, я не могу найти ответ на этот вопрос или, может быть, не могу понять, что люди пишут в Интернете ...

У меня есть UITabBar с 3 баками.

Одной из вкладок является UIImagePickerController.Этот элемент TabBar подключен к контроллеру представления, который я также назначил делегатом для средства выбора изображений (камеры).

Я хочу, чтобы затем кто-то сделал фотографию или нажал кнопку «Отмена». Первый элемент TabBar будет выбран (я не хочу оставаться в TabBar, в котором находится камера).

Мой вопрос: как мне «общаться» с контроллером TabBar из контроллера представления, который находится в одном из элементов TabBar?

мой код в файле TakePhotoViewController.m, который находится в третьем элементе TabBer, и я хочу перейти к первому элементу.

-(void) viewWillAppear:(BOOL)animated{
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.allowsEditing = NO;
    self.imgPicker.delegate = self;
    self.imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    [self presentModalViewController:imgPicker animated:YES];  
}

и методы делегата:

#pragma mark -
#pragma mark - UIImagePicker delegate methods

//saving the image that was taken
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo: (NSDictionary *)info
{
    // Access the uncropped image from info dictionary
    UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

    // Save image
    UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

    [picker release];
}

//alerting the user if the images was saved or not
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
    UIAlertView *alert;

    // Unable to save the image  
    if (error)
        alert = [[UIAlertView alloc] initWithTitle:@"Error" 
                                       message:@"Unable to save image to Photo Album." 
                                      delegate:self cancelButtonTitle:@"Ok" 
                             otherButtonTitles:nil];
    else // All is well
        alert = [[UIAlertView alloc] initWithTitle:@"Success" 
                                       message:@"Image saved to Photo Album." 
                                      delegate:self cancelButtonTitle:@"Ok" 
                             otherButtonTitles:nil];
    [alert show];
    [alert release];
}

//if user is cancelling the camera
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
    [picker release];
}

Большое спасибо, Эрез

1 Ответ

3 голосов
/ 19 сентября 2011
[self.tabBarController setSelectedIndex:1];

Вы можете передать желаемое значение индекса вкладки вместо 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...