我使用下面的代码来欺骗我的应用程序,让它相信它是一个iPad,并在标签栏上显示6个选项卡。标签栏忽略UITraitCollection请求 - 6个标签所需
-(UITraitCollection *)traitCollection
{
UITraitCollection
*realTraits = [super traitCollection],
*lieTrait = [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular];
return [UITraitCollection traitCollectionWithTraitsFromCollections:@[realTraits, lieTrait]];
}
这是一切都很好,除了从我已经旋转了几次SFSafariViewController
返回时。我遇到的问题是标签栏默认回来并显示四个选项卡以及更多页面。我的问题是什么?需要注意的是,只需打开SFSafariViewController
然后回去不会触发选项卡栏默认 - 所以我假设它与旋转把一个新的视图放在顶部(忽略UITraitCollection
呼叫)。
我已经分类了SFSafariViewController
和UITabBarController
,同时尝试调用上面的方法尽可能地停止标签栏默认 - 但我没有成功。
注意:旋转时出现'[App] if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction
'错误 - 如果有任何帮助。
谢谢。