0

Я использовал UIScrolView для отображения содержимого (изображений). Я не использовал сторонний код. Мой скроллер и масштабирование работают отлично (которые раньше не работали). Теперь я хочу добавить функциональность, где после касания экрана (например, однократного нажатия) панель навигации поднимается, как показано на рисунке 2. Я хочу увеличить размер UIscrollview одновременно, как показано на рисунке 2. И если пользователь снова коснется панели навигации, вернитесь в исходное положение, и scrollView вернется к исходному размеру и форме. Мой scrollView содержит изображения, которые прокручиваются по горизонтали.Как сделать навигацию Бар перемещается над своим положением плавно,

Image1 before tapping

Image2 after tapping

Один из способов показать анимации для навигационной панели, является то, что я делаю пользовательский вид и добавить его на месте панели навигации и использовании следующего кода для анимации Для перемещения вверх

[UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.3]; 
    customNavigationbar_view.frame=CGRectMake(0, -66, 320, 65); 
    [UIView commitAnimations]; 

Который станет слишком неуклюжим. Я даже готов это сделать. Но как увеличить размер scrollview с помощью анимации, чтобы не показалось, что размер прокрутки увеличивается, и я мгновенно увеличиваю свой клик. Если есть третья сторона, которая предоставляет все, что я хочу, как это, пожалуйста, дайте мне знать. Большинство сторонних кодов либо трудно получить, либо они не предоставляют все, что мне требуется в моем проекте. И мне жаль, что я добавил Images.

+1

Вы пробовали 'setNavigationBarHidden: анимированный:' метод UINavigationController? – titaniumdecoy

+0

@titaniumdecoy Спасибо тонну. Он решил 50% моей текущей проблемы. Как я могу показать переход для MY SCROLLVIEW, я должен показать переход с его увеличением. Извините, если я не смог нормально поработать – Jasmeet

+0

Вы установили UIViewAutoresizingFlexibleHeight в UIScrollView? – titaniumdecoy

ответ

1

анимировать изменение Scrollview кадра: Что-то вроде:

- (void) tap:(UITapGestureRecognizer *)gr { 
    [self.navigationController setNavigationBarHidden: YES animated: YES]; 
    [UIView animateWithDuration:1.0 animations:^{ 
     CGRect frame = self.scrollView.frame; 
     frame.origin.y = 0; 
     frame.size.height = self.view.bounds.size.height; // or whatever you need to keep it from moving up 
     self.scrollView.frame = frame; 
    }]; 
} 
+0

Thanku, Он работает, :) – Jasmeet

1

Вы должны использовать:

[self.navigationController setNavigationBarHidden: YES animated: YES]; 

См Apple Docs

Чтобы сделать свой scrollView ход с навигационной панелью, вам необходимо установить autoLayout прикрепить верхнюю часть scrollView к верхней части viewContoller.

+0

Спасибо тонну. Он решил 50% моей текущей проблемы. Как я могу показать переход для MY SCROLLVIEW, я должен показать переход с его увеличением. как я показал в вышеприведенных изображениях. Извините, если я не могу нормально поработать – Jasmeet

+1

Обновлено мой ответ –

+0

Извините, я не очень разбираюсь. Есть ли пример примера кода? – Jasmeet

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