Скрыть представление изменения размера панели навигации, если основным видом является UIScrollView, но не UIView
Я пытаюсь скрыть панель состояния и панель навигации, когда пользователь нажимает на экран. Это работает нормально, но всегда изменяет размер "представления", когда навигационные панели и строки состояния появляются и исчезают с экрана. Поэтому я подумал, что 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, то никогда не изменяю размеры представления, когда навигационные панели и строки состояния появляются и исчезают с экрана
- (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;
}
Итак, мой вопрос: есть ли здесь какая-то логика для изменения размера или нет?
Заранее спасибо.