2012-02-04 2 views
2

Я создал табуляцию через nib с тремя элементами в приложении, основанном на представлении.
Я хочу, чтобы первый элемент выбирался по умолчанию, когда отображается представление.Элемент Tabbar в представлении не работает

Проблема выбрана item1, но она не загружает представление, которое оно имеет право делать. когда мы нажимаем на элемент, появится представление. Пожалуйста, помогите мне разобраться с этим. Вот мой код ...

-(void)viewWillAppear:(BOOL)animated{ 
    [super viewWillAppear:animated]; 
    tabBar.delegate = self; 
    [tabBar setSelectedItem:[tabBar.items objectAtIndex:0]]; 
} 

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { 
    NSLog(@"didSelectItem: %d", item.tag); 
    if (item.tag==1) { 
     ImagesOverlay=[[UIView alloc]initWithFrame:CGRectMake(0, 210, 320, 250)]; 
     ImagesOverlay.backgroundColor=[UIColor grayColor]; 
     [self.view addSubview:ImagesOverlay]; 
    }else if (item.tag==2) { 
     relatedOverlay=[[UIView alloc]initWithFrame:CGRectMake(0, 210, 320, 250)]; 
     relatedOverlay.backgroundColor=[UIColor redColor]; 
     [self.view addSubview:relatedOverlay]; 
    }else if(item.tag==3){ 
     //other condition 
    } 
} 

ответ

1

Просто получил это сделать ..

-(void)viewWillAppear:(BOOL)animated{ 
[super viewWillAppear:animated]; 
tabBar.delegate = self; 
[tabBar setSelectedItem:[tabBar.items objectAtIndex:0]]; 
[self activateTab:1]; 
} 

- (void)activateTab:(int)index { 
switch (index) { 
    case 1: 
    //condition 
    break; 
    case 2: 
    //condition 
    break; 
    default: 
     break; 
} 
} 

    - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { 
NSLog(@"didSelectItem: %d", item.tag); 
[self activateTab:item.tag];  
    } 
0

Похоже, что вам нужно сделать некоторые исследования в том, как UITabBarController работ. Вы должны передавать ему экземпляры UIViewController, а не вручную изменять представления. Есть Распознать ссылки класса:

https://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarController_Class/Reference/Reference.html

+1

Он, кажется, используя 'UITabBar', а не' UITabBarController'. –

Смежные вопросы