Подтвердить что ты не робот

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];
4b9b3361

Ответ 1

Он должен работать автоматически при изменении ориентации на пейзаж, я пробовал и работает в Xcode 9.0. Дополнительный код не требуется, если вы используете планшетный контроллер TabBar или собственный пользовательский контроллер TabBar.

В то время как googling я обнаружил, что кто-то сообщил о той же проблеме в одной из библиотек Здесь

Они исправили проблему, установив рамки для метки и изображения при изменении ориентации. поэтому, пожалуйста, посмотрите здесь, если это может быть полезно. https://github.com/eggswift/ESTabBarController