Просмотр внешнего экрана - PullRequest
       24

Просмотр внешнего экрана

0 голосов
/ 20 февраля 2012

У меня есть контроллер вкладок, который содержит контроллер навигации, который снова содержит контроллер представления.Контроллер представления показывает панель вкладок и панель навигации.

В этом контроллере представления я хочу добавить полноэкранный вид (скрывает панель вкладок и панель навигации, но покидает строку состояния), который отображается во время загрузки.,Я создал подкласс UIView и настроил макет в nib-файле, который загружается в это представление:

- (id)initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame])
    {
        // Load nib
        self = [[[NSBundle mainBundle] loadNibNamed:@"FrontpageCountdownView" owner:self options:nil] objectAtIndex:0];
    }
}

Я добавляю это представление в контроллер представления следующим образом:

// Hide tab bar and navigation bar
self.tabBarController.tabBar.hidden = YES;
self.navigationController.navigationBar.hidden = YES;

// Add loading (frontpage countdown) view
CGRect frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
NFFrontpageCountdownView *countdownView = [[NFFrontpageCountdownView alloc] initWithFrame:frame];
[self.view addSubview:countdownView];

просмотр в моем перо имеет размер 460 (полный экран, минус строка состояния).Моя проблема в том, что, когда я добавляю его в контроллер представления, он выглядит «больше».Я бы подумал, что, поскольку размер представления составляет 460, он должен отображать весь вид при добавлении в контроллер представления, но не показывает дно.Кажется, что вид слишком велик, хотя он и составляет 460 пикселей.

Кто-нибудь может мне сказать, почему это так?

My view in Interface Builder

РЕДАКТИРОВАТЬ

Как выглядит мой вид в Интерфейсном Разработчике:

My view in Interface Builder

Как выглядит мой вид в симуляторе:

My view in the simulator

1 Ответ

0 голосов
/ 21 февраля 2012

Это происходит при скрытии панели вкладок с помощью self.tabBarController.tabBar.hidden = YES.

Вместо этого вы должны скрыть это и затем расширить представление tabBarController.

CGRect tabBarFrame = self.tabBarController.view.frame;
tabBarFrame.size.height += self.tabBarController.tabBar.frame.size.height;
self.tabBarController.view.frame = tabBarFrame;
self.tabBarController.tabBar.hidden = YES;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...