Скрыть представление изменения размера панели навигации, если основным видом является UIScrollView, но не UIView - PullRequest
0 голосов
/ 29 февраля 2012

Я пытаюсь скрыть панель состояния и панель навигации, когда пользователь нажимает на экран.Это работает нормально, но всегда изменяет размер «представления», когда навигационные панели и строки состояния появляются и исчезают с экрана.Поэтому я подумал, что setWantsFullScreenLayout: YES не работает.Вот фрагмент кода:

- (void)loadView
{   
    // Make transparencies of bars and full screen
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
    [self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
    [self setWantsFullScreenLayout:YES];       

    pagingScrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    /* ... */

    // Assign to UIScrollView !!
    self.view = pagingScrollView;
}

Однако, если я назначаю self.view для UIView вместо UIScrollView, то никогда не изменяю размер представления, когда навигационные панели и statusBar появляются и исчезают с экрана

- (void)loadView
{   
    // Make transparencies of bars and full screen
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
    [self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent]; 
    [self setWantsFullScreenLayout:YES];       

    pagingScrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    /* ... */

    // Assign to UIView !!
    UIView * mainView  = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [mainView addSubview:pagingScrollView];
    self.view = mainView;
}

Поэтому мой вопрос: есть ли здесь какая-то логика для изменения размера или нет?

Заранее спасибо.

...