首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选项卡栏忽略UITraitCollection请求--所需的6个选项卡

选项卡栏忽略UITraitCollection请求--所需的6个选项卡
EN

Stack Overflow用户
提问于 2017-08-10 04:56:44
回答 1查看 139关注 0票数 0

我使用下面的代码来欺骗我的应用程序,使其相信它是一个iPad,并在选项卡条上显示了6个选项卡。

代码语言:javascript
复制
-(UITraitCollection *)traitCollection
{
    UITraitCollection
    *realTraits = [super traitCollection],
    *lieTrait = [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular];
    return [UITraitCollection traitCollectionWithTraitsFromCollections:@[realTraits, lieTrait]];
}

这一切都很好,除了当我从一个SFSafariViewController返回时,我已经旋转了几次。我遇到的问题是,选项卡栏默认返回,并显示四个选项卡和更多的页面。我有什么问题?重要的是要注意的是,仅仅打开SFSafariViewController然后返回并不会触发默认的Tab所以我假设它与旋转有关,在顶部放置一个新的视图(一个忽略UITraitCollection调用的视图)。

我对SFSafariViewControllerUITabBarController进行了子类化,并试图在可能的情况下调用上面的方法来停止Tab的默认设置--但是我没有成功。

注意:我得到了一个,'[App] if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction‘错误时旋转-如果这是有帮助的。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-22 06:47:07

最后,我将下面的代码片段实现到我的suclassed UINavigationController中,从而解决了这个问题。

代码语言:javascript
复制
- (UITraitCollection *)overrideTraitCollectionForChildViewController:(UIViewController *)childViewController
{
    return [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular];
}

希望这能帮助别人解决这个问题!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45604783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档