iOS 11 中的横向 UITabBar 中的 UITabBarItem
Posted
技术标签:
【中文标题】iOS 11 中的横向 UITabBar 中的 UITabBarItem【英文标题】:UITabBarItem in landscape UITabBar in iOS 11 【发布时间】:2017-09-24 03:31:04 【问题描述】:我以编程方式将标签栏项目添加到标签栏,但是当标签栏处于横向模式时,标签栏项目不会更改为左侧图标和右侧文本的新横向样式。 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];
【问题讨论】:
请分享您正在创建标签栏的屏幕截图和代码。 正如 Sunil 所说,我们需要查看您用于添加标签栏项目的代码才能提供帮助。我以前做过类似的事情,它们在 iOS 11.0 上工作得很好,所以这可能只是你添加标签栏项目的方式导致了这种情况。 【参考方案1】:当将方向更改为横向时,它应该会自动工作,我尝试过,它在 Xcode 9.0 中工作,当您使用基于情节提要的 TabBar 控制器或自定义 TabBar 控制器时,无需执行其他代码。
在谷歌搜索时,我发现有人在 Here 的一个库中报告了同样的问题
他们通过在方向更改时为标签和图像设置框架来解决此问题。所以,如果有帮助,请看这里。 https://github.com/eggswift/ESTabBarController
【讨论】:
以上是关于iOS 11 中的横向 UITabBar 中的 UITabBarItem的主要内容,如果未能解决你的问题,请参考以下文章