UITabBarItem в ландшафте UITabBar в iOS 11
Я программно добавляю элементы панели вкладок на панель вкладок, однако, когда панель вкладок находится в ландшафтном режиме, элементы панели вкладок не меняются в новый ландшафтный стиль с помощью значка слева и текста справа. Как обновить стиль элементов панели вкладок, когда панель вкладок находится в альбомном режиме для iOS 11?
Вот какой код запрошен.
UITabBar *tabBar = [UITabBar new];
NSInteger tag = 0;
NSMutableArray<UITabBarItem *> *items = [NSMutableArray new];
for(UIViewController *viewController in viewControllers)
{
NSString *title = viewController.title;
UIImage *image = [UIImage imageNamed:title];
UITabBarItem *tab = [[UITabBarItem alloc] initWithTitle:title image:image tag:tag++];
[items addObject:tab];
}
tabBar.items = items;
[self.view addSubview:tabBar];
Ответы
Ответ 1
Он должен работать автоматически при изменении ориентации на пейзаж, я пробовал и работает в Xcode 9.0. Дополнительный код не требуется, если вы используете планшетный контроллер TabBar или собственный пользовательский контроллер TabBar.
В то время как googling я обнаружил, что кто-то сообщил о той же проблеме в одной из библиотек Здесь
Они исправили проблему, установив рамки для метки и изображения при изменении ориентации. поэтому, пожалуйста, посмотрите здесь, если это может быть полезно.
https://github.com/eggswift/ESTabBarController