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的主要内容,如果未能解决你的问题,请参考以下文章

UITabBar项目位置问题Xamarin

UITabBar 项目位置问题 Xamarin

UITabbar 应用程序中的方向问题

IOS:UITabbar 项目单击一次又一次,它正在减少IOS 7 中的UITabbar 按钮项目大小

iOS 5 中的 UITabBar 高度

iOS7中的UITabBar徽章位置