У меня есть представление, которое содержит scrollView. Когда представление появляется, изображение появляется в полноэкранном режиме (320x480), скрывая статус и панель навигации. Когда я касаюсь экранов - на экране появляется панель состояния и навигации. Но эта вещь смещает UIScrollView ниже панели навигации. Я хочу, чтобы панель состояния и навигации отображались поверх моего представления прокрутки.
Как это происходит в приложении для фотографий. При нажатии на изображение панель состояния и навигации отображается над прокруткой.
Ниже показано, как я позиционирую вид
//What I have done in viewDidLoad
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
self.wantsFullScreenLayout = YES;
scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = scrollView;
Ниже показано, что я делаю при обнаружении одного касания.
- (void)tapDetectingImageView:(TapDetectingImageView *)view gotSingleTapAtPoint:(CGPoint)tapPoint {
// single tap hide/unhide the status and nav bar
NSLog(@"got a single tap");
if (self.navigationController.navigationBarHidden == NO)
{
[self.navigationController setNavigationBarHidden:YES animated:NO];
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
}
else
{
[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
[self.navigationController setNavigationBarHidden:NO animated:NO];
}
}
Просто указатель для вас, ребята. Если я использую
[self.view addSubview:scrollView];, я не вижу этой проблемы. Но это испортило мой код альбомной ориентации.
Любой, кто может пролить свет на то, что я могу делать неправильно - был бы очень полезен!