У меня есть приложение, которое общается с внешними объектами.Мне нужно либо показать, либо скрыть элемент на панели вкладок, если у этой сущности переключатель включен или выключен.
Он должен быть динамическим в случае, если пользователь переходит от сущности A к сущности B и у них разныенастройки.Элемент панели вкладок должен отображаться / скрываться, если они переключаются, а настройки различаются.
Я использовал для добавления элемента в UITabBarController вот так:
UIViewController *vc1 = [[MyViewController1 alloc] init];
[self.tabBarController addChildViewController:vc1];
UIViewController *vc2 = [[MyViewController2 alloc] init];
[self.tabBarController addChildViewController:vc2];
И я мог бы удалить элементы из вкладкистрока вроде этого:
NSMutableArray *tbViewControllers = [NSMutableArray arrayWithArray:[self.tabBarController viewControllers]];
[tbViewControllers removeObjectAtIndex:4];
[tbViewControllers removeObjectAtIndex:4];
[self.tabBarController setViewControllers:tbViewControllers];
В моем коде ViewController у меня было что-то вроде этого:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
//get the tab bar item
UITabBarItem *tbi = [self tabBarItem];
//give it a label
[tbi setTitle:@"Tab Item"];
//create a UIImage from a file
UIImage *i = [UIImage imageNamed:@"image.png"];
//put that image on the tab bar item
[tbi setImage:i];
}
return self;
}
Теперь, с появлением адаптивного макета приложения и переходов, кажется, что добавление элемента динамическине работает.По крайней мере, для меня.
Я получаю черный экран вместо изображения, которое ожидаю увидеть при выполнении вышеизложенного.Рассматриваемый UIView - это, по сути, UIWebView с парой пользовательских кнопок над ним.
Мое приложение полностью адаптивно, совместимо с UIStackViews и еще чем-то подобным.
Все сообщения, которые я вижу здесь, ссылаются на добавление или удалениевсем элементам из UITabBars уже несколько лет, до современного адаптивного макета.
Можно ли еще добавлять / удалять элементы вкладок из панели вкладок?Целесообразно ли это делать или это сейчас плохая практика?
Есть ли другие идеи для достижения этой же цели - иметь элемент на панели вкладок или нет, в зависимости от внешних настроек?
Cheers
1027 * TJ