2015-04-14 3 views
0

Мне было просто интересно, как я могу скрыть вкладку элемента в Tab Bar Controller для текущего контроллера представления, который выбранСкрыть вкладку для текущего контроллера представления в контроллер панели вкладок

+0

Как вы можете выбрать другие вкладки, когда они скрыты в текущем виде ??? –

+0

Вы работаете в Swift или ObjC? – Wez

+0

@Wezly Работа в ObjC –

ответ

1

Во-первых, я не думаю, что это можно прятать UITabBarItem - Он наследует от UIBarItem но нет hidden собственности - UIBarItem Documentation

Вы можете попробовать сравнения на вкладке бруски selectedViewController собственности от текущего контроллера представления? - Что-то вроде ниже может работать ..

if (self.tabBarController.selectedViewController == self) { 
    // Do Stuff 
} 

Но даже тогда я думаю, что вы собираетесь найти его трудно скрыть панель предмета Язычок себя.

+1

Да, после прочтения еще. Я решил, что лучшим решением для моей ситуации является его полное удаление, когда-то сделанное с помощью этого контроллера. т.е. экран входа в систему. –

0
UIView *parent = self.tabBarController.tabBar.superview; // UILayoutContainerView 
    UIView *content = [parent.subviews objectAtIndex:0]; // UITransitionView 
    UIView *window = parent.superview; 

    [UIView animateWithDuration:0.2 
        animations:^{ 
         CGRect tabFrame = self.tabBarController.tabBar.frame; 
         tabFrame.origin.y = CGRectGetMaxY(window.bounds); 
         self.tabBarController.tabBar.frame = tabFrame; 
         content.frame = window.bounds; 
        }]; 
3

Удалить указанный индекс из контроллеровArray ex. (1)

NSMutableArray *controllersArray = [NSMutableArray arrayWithArray:self.tabBar.viewControllers]; 
[controllersArray removeObjectAtIndex: 1]; 
[self.tabBar setViewControllers:controllers animated:YES]; 

Проверка этого ответа я также нашел, что это похоже из вашего вопроса Hide tab bar item and aligning other tab items Надеюсь, что это помогает. !!

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