iOS 10 UITabBar更多项目设置标题后可见
我的应用程序中有一个标签栏,标签栏项目是UITabBarItem的子类。 从服务器获取更新后,这些标签栏项目使用以下代码从代码中设置其标题:
[self setTitle:@"SomeText"];
一旦这一行运行,之前隐藏的选项卡栏项(在更多选项卡后面)将在主选项卡区域中可见,并堆叠在其他选项卡顶部。 请参阅下面的截图。 这只发生在iOS 10(testing版)中。 这是我的代码中的错误还是iOS 10中的问题?
我已经创build了一个最小的XCode项目,并发布到Github来演示这个问题: https : //github.com/RippleAdder/TabStacks
这个答案不会解决你的具体情况,但可以帮助其他同样的问题。
如果您使用UIViewControllers tabBarItem属性设置标题,似乎出现问题。 使用UITabBarController tabBar属性,而应该解决这个问题。
所以,而不是(例如):
tabBarController.viewControllers[0].tabBarItem.title = @"SomeText";
使用:
tabBarController.tabBar.items[0].title = @"SomeText";
更新
我们发现replaceUITabBarItem是这个iOS 10的另一个解决方法:
UITabBarItem *item = tabBarController.viewControllers[0].tabBarItem; tabBarController.viewControllers[0].tabBarItem = [[UITabBarItem alloc] initWithTitle:@"SomeText" image:item.image tag:item.tag];
这发生在任何时候你编程设置标签的iOS 10中的标题。我已经确认,这是iOS 10testing版中的一个错误。 我已经打开了一个错误报告和雷达:openradar.appspot.com/27749026
我也发布了一个Github的回购协议,用来演示这个问题: https : //github.com/RippleAdder/TabStacks
我有一个问题是在视图控制器设置标题self.title = @"Title"
将导致tabBarItem
标题改变,并导致在这个问题的丑陋的错误。 我将其更改为self.navigationItem.title = @"Title"
这似乎解决了这个问题。
我花了更多的时间在这个我想要考虑的事情上。
但是对于我来说固定的解决方法是围绕我创build的代码,并在主线程上实际呈现UITabBarItems
,并使用简单的dispatch_async
dispatch_async(dispatch_get_main_queue(), { //your code here }
正如我所说,可能不是最好的解决scheme,但最终是实际工作的那个。
希望苹果能尽快解决这个问题。
移动
self.title = @"SomeText";
从
- (void)awakeFromNib {}
至
- (void)viewDidLoad {}
- GM发布的Xcode 6编译
- 将MKMapView缩放级别设置为某个位置
- 如何向UILocalNotification警报添加操作按钮/操作?
- UISearchDisplayController表视图重叠search栏
- 应用程序图标不包含在Xcode的构建中
- iOS – 我们可以使UIScrolling指标的高度相同的任何数量的数据?
- 错误域= NSCocoaErrorDomain代码= 3840“没有值。”UserInfo = {NSDebugDescription =没有值。}
- 如何从ABPeoplePicker获取用户select的电子邮件地址?
- 如何跳过重复UNCalendarNotificationTrigger的第一次出现?