Пользовательский UITabBarController переместился наверх, оставляя белую область - PullRequest
1 голос
/ 13 октября 2011

У меня есть пользовательский UITabBarController, и с помощью setFrame в viewDidLoad я перемещаю панель вкладок в верхнюю часть экрана. Это отлично работает.

В Interface Builder Я нажал на элементы (кнопки, метки и т. Д.) В файле XIB, чтобы в верхней части было место для панели вкладок. Я удостоверился, что для Bottom Bar задано значение none (в смоделированных метриках инспектора) и что высота UIView равна 480.

Когда я проверяю это, однако tabBar находится сверху, как и ожидалось, но представление обрезается там, где обычно находится панель вкладок. Даже фон UIImage не просвечивает. Это просто белый. Как я могу увеличить размер кадра viewController? Я попытался изменить добавление команды setFrame на [self view] в viewDidLoad из subview, но это не сработало.

Спасибо

1 Ответ

0 голосов
/ 13 октября 2011

UITabBarController автоматически устанавливает фрейм для активных контроллеров представления.Вы можете попытаться изменить рамку вида позже или попробовать установить clipSubviews = NO для всех видов.Может быть, вы хотите попробовать выполнить следующее в viewDidAppear: или в другом месте (попробуйте!).Мы надеемся, что это изменит кадр представления после того, как контроллер панели вкладок изменил его.

dispatch_async(dispatch_get_main_queue(), ^(void){
    [self.view setFrame:CGRectMake(0,0,320,480);
});
...