UITabBar оставляет белый прямоугольник, когда скрыт - PullRequest
19 голосов
/ 11 марта 2010

Мне не удалось найти приемлемое для этого решение, которое можно применить к моему проекту.

Мое приложение представляет собой графический инструмент с тремя вкладками; один для самого графика, а два других - для функций поиска / поиска вещей, которые можно добавить в график. Все вкладки являются контроллерами навигации.

На вкладке для самого графика в портретном режиме отображается небольшой предварительный просмотр графика и перечисляются сведения о каждой сущности, представленной на графике ниже, а также отображается панель вкладок внизу.

Когда пользователь переходит в альбомный режим, график переходит в полноэкранный режим, а все остальное, включая панель вкладок, исчезает. Вот где у меня проблема, поскольку GLView для моего графика всегда скрыт белым прямоугольником, где находилась панель вкладок.

Я попытался изменить размер представления контроллеров навигации на полный экран, изменив размер представления контроллеров панели вкладок на полный экран, изменив размер кадра самой панели вкладок на CGRect (0,0,0, 0), становясь эмоционально расстроенным, стуча кулаками по столу, выкрикивая оскорбительные выражения в MacBook и т. Д .; все безрезультатно.

Как я могу заставить это работать?

Ответы [ 17 ]

0 голосов
/ 07 октября 2010

Это просто обходной путь, но пытались ли вы представить график модально, когда пользователь поворачивается в альбомную ориентацию? Это должно скрыть панель вкладок.

Вы можете избежать перехода с помощью

[viewController presentModalViewController:graph animated:NO]

0 голосов
/ 30 сентября 2010

для некоторых суперпредставлений currentViewController.view контроллера представления панели вкладок для clipToBounds установлено значение YES (если не ошибаюсь, имя класса - UITransitionView). Для доступа используйте

tabBarController.currentViewController.view.superview.superview.clipToBounds = NO;

после этого ваши попытки изменить размер представления ничем не будут ограничены и увенчаются успехом. Удачи!

0 голосов
/ 15 октября 2010

Я предполагаю, что вы уже проверили стрелки автоматического изменения размера в вашем представлении?

0 голосов
/ 11 марта 2010

Вы уверены, что он скрыт и не только А) не перерисован или Б) кадр вашего GLView не занимает это место?

0 голосов
/ 26 октября 2010

Я думаю, вам нужно установить для self.navigationController.view.frame полный размер, т. Е. Для рамки экрана UIApplication, прежде чем устанавливать скрытую панель вкладок

0 голосов
/ 23 октября 2010

Проверьте UIView внизу. Он может быть установлен на белый, поэтому, когда вы прячете вкладку, вы открываете белый UIView. Попробуйте установить для UIView значение Прозрачный.

0 голосов
/ 21 октября 2010

это потому, что пространство, где была панель вкладок, не выделено другим представлениям, когда вы устанавливаете панель вкладок скрытой, вы можете установить соответствующий вид, чтобы растянуть или заполнить весь экран, например, масштабирование или заполнение аспекта, что-то подобное или увеличить вид чем экран iphine, так что когда вы меняете телефон на альбомную, он может полностью заполнить экран

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...