0

私は、次のコードを使用して、アプリケーションがiPadであり、タブバーに6つのタブが表示されていると信じています。タブバーUITraitCollectionリクエストを無視する - 6タブが必要です

-(UITraitCollection *)traitCollection 
{ 
    UITraitCollection 
    *realTraits = [super traitCollection], 
    *lieTrait = [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular]; 
    return [UITraitCollection traitCollectionWithTraitsFromCollections:@[realTraits, lieTrait]]; 
} 

これは別に私が数回回転させてきましたSFSafariViewControllerからの復帰時から、すべてが順調と良いです。私が抱えている問題は、タブバーがデフォルトに戻って、さらに多くのページとともに4つのタブが表示されることです。私の問題は何ですか? SFSafariViewControllerを開いてから戻ると、タブバーがデフォルトにならないということに注意することが重要です。つまり、新しいビューを上に置く回転と何かがあると仮定しています(UITraitCollectionコール)。

私はSFSafariViewControllerUITabBarControllerをサブクラス化しましたが、上記の方法を呼び出して、Tab Barのデフォルトを停止することは可能でしたが、成功しませんでした。

注:回転時に「[App] if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction」というエラーが表示されます。

ありがとうございます。

答えて

0

私はこのコードを私のsuclassed UINavigationControllerに実装することでこれを解決しました。

- (UITraitCollection *)overrideTraitCollectionForChildViewController:(UIViewController *)childViewController 
{ 
    return [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular]; 
} 

誰かがこの問題に役立つことを願っています!

関連する問題