3

У меня есть представление, которое содержит scrollView. Когда появится представление, изображение отображается в полноэкранном режиме (320x480), скрывая статус и панель навигации. Когда я нажимаю на экраны, на экране появляется статус и панель навигации. Но эта вещь сдвигает UIScrollView под панелью навигации. Я хочу, чтобы статус и навигационная панель отображались поверх моего вида прокрутки.UIScrollView переходит под навигационную панель и строку состояния

Как это происходит в приложении для фотографий. При нажатии на значок состояния и панели навигации отображается над scrollView.

Ниже, как я позиционирование вида


//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];
I не см. эту проблему. Но это испортит мой код ландшафтной ориентации.

Любой, кто может пролить свет, что я мог бы сделать неправильно, был бы большой помощью!

ответ

1

Я нашел решение самостоятельно. В противном случае я добавлю нижнюю строку в последний.

scrollView.contentOffset = CGPointMake(parentScrollView.contentOffset.x,0);

Не уверен, что это правильный подход. Но если кто-то может предложить лучший подход - более чем добро пожаловать!

+0

Что такое parentScrollView? – Dejell

3

Когда навигационная панель навигации переключается, появляется необходимость в специальной обработке внутри UIScrollView. Как вы указали в конце своего вопроса, если вы разместите вид прокрутки внутри содержащего UIView, эта проблема с перестановкой не возникает.

Чтобы устранить проблемы с ландшафтом, убедитесь, что вы устанавливаете autoresizingMask как в виде контейнера, так и в виде прокрутки. Мне не нужно было добавлять дополнительную обработку для ландшафтного режима в моем проекте.

 Смежные вопросы

  • Нет связанных вопросов^_^