iPhone UITabBar - как вы переключаете представления вкладок? - PullRequest
0 голосов
/ 20 июня 2011

Не могли бы вы рассказать, как работает переключение между вкладками? Потому что в моих методах "sendPressed" и "cancelPressed" я пытаюсь перейти от представления второй вкладки к представлению первой вкладки. Однако на данный момент я получаю сообщение об ошибке в строке "[[array objectAtIndex: 2] setSelectedSegmentIndex: 1]".

#import "SecondViewController.h"

@implementation SecondViewController

- (IBAction) sendPressed:(UIButton *)sender
{
    array = [[self tabBarController] viewControllers];
    [[array objectAtIndex:2] setSelectedSegmentIndex:1];
    [[self tabBarController] setViewControllers:array];
}

- (IBAction) cancelPressed:(UIButton *)sender
{
    array = [[self tabBarController] viewControllers];
    [[array objectAtIndex:2] setSelectedSegmentIndex:1];
    [[self tabBarController] setViewControllers:array];

}

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    image = [info objectForKey:UIImagePickerControllerOriginalImage];
    imageView.image = image;
    [self dismissModalViewControllerAnimated:YES];
}

...
@end

Ответы [ 3 ]

2 голосов
/ 20 июня 2011

Попробуйте

self.tabBarController.selectedIndex = 0; //first tab
2 голосов
/ 20 июня 2011

замените эту строку на:

self.tabBarController.selectedIndex = 1;

индексы вкладок начинаются с 0. Таким образом, индекс 0 будет первой вкладкой, индекс 1 будет второй вкладкой и т. Д.

1 голос
/ 20 июня 2011

Почему вы просто не используете

self.tabBarController.selectedIndex = 0;   // for first tab


// 1 for second tab
// 2 for third tab .....
...