我以编程方式将标签栏项目添加到标签栏但是当标签栏处于横向模式时,标签栏项目不会更改为新的横向样式,左侧是图标,文字位于正确的。当标签栏处于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];
答案 0 :(得分:0)
当将方向更改为横向时,它应该自动工作,我尝试过并且它在Xcode 9.0中工作,当您使用基于故事板的TabBar控制器或自定义TabBar控制器时,不需要执行其他代码。
在谷歌上搜索时,我发现其中一个人在其中一个库Here中报告了同样的问题
他们通过在方向更改时设置标签和图像的框架来解决问题。所以,请看看这里是否有帮助。 https://github.com/eggswift/ESTabBarController