Панель вкладок, игнорирующая запросы UITraitCollection - 6 требуемых вкладок
Я использую следующий код, чтобы заставить мое приложение поверить, что это iPad, и отображать 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
Ошибка при вращении - если это поможет.
Благодарю вас.
1 ответ
Я решил эту проблему, внедрив приведенный ниже фрагмент в мой UINavigationController
,
- (UITraitCollection *)overrideTraitCollectionForChildViewController:(UIViewController *)childViewController
{
return [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular];
}
Надеюсь, что это поможет кому-то еще с проблемой!