2016-11-04 2 views
1

У меня есть пользовательский вид в виде заголовка моего коллекционного представления. Но, конечно, когда я прокручиваю, заголовок исчезает, пока я не вернусь назад.Скрыть вид сверху при прокрутке в swift

Пример того, что я хочу достичь, похож на текущее приложение Facebook. Если просмотр «LIVE, Photo, Check in» скрывается при прокрутке вниз и возвращается, как только вы немного прокручиваете вверх.

example

Это так. Но я просто хочу, чтобы прямая трансляция, фото и проверка в баре скрывались и показывались во время прокрутки.

Мой текущий подход просто добавляется в виде заголовка коллекционного представления.

+0

Он был дан ответ здесь http://stackoverflow.com/questions/28631985/how-to-hide-navigation -bar-and-tab-bar-while-scrolling-table-view-in-ios – Windindi

+0

Но я хочу скрыть представление заголовка. Не navbar – Happiehappie

+0

вы можете опубликовать снимок экрана о своей проблеме и кодах? – Joe

ответ

0

Попробуйте это работает в моем проекте:

self.navigationController.hidesBarsOnSwipe = YES; 
+0

Это означает, что мой пользовательский вид должен быть в моей панели навигации? Извините, но я смущен этим подходом. – Happiehappie

+0

Вы попробовали? – KKRocks

+0

Да, но по какой-то причине моя панель навигации не скрывалась, она работала для первого vc в стеке, но навигационная панель последующего vc не скрывала. Кроме того, даже в первом vc мой заголовок все еще присутствует. – Happiehappie

0

Вы можете использовать эти библиотеки, которая управляет укрывистостью и показ панели навигации, как пользователь прокручивает:

Другим способом является использование этого функция в viewWillAppear

if let navigationController = self.navigationController as? ScrollingNavigationController { 
    navigationController.followScrollView(tableView, delay: 30.0) 
} 
4

Вот код для скрытия панели навигации с свитком

func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 
      // 
      contentOffSet = self.channelsCollView.contentOffset.y; 
     } 

     func scrollViewDidScroll(_ scrollView: UIScrollView) { 
      // 

      let scrollPos = self.channelsCollView.contentOffset.y ; 

      if(scrollPos >= contentOffSet){ 
       //Fully hide your toolbar 
       UIApplication.shared.isStatusBarHidden = true 
       UIView.animate(withDuration: 0.5, animations: { 
        // 
        //write a code to hide 
self.navigationController?.isNavigationBarHidden = true 
       }, completion: nil) 
      } else { 
       //Slide it up incrementally, etc. 
       UIApplication.shared.isStatusBarHidden = false 
       UIView.animate(withDuration: 0.5, animations: { 
        // 
self.navigationController?.isNavigationBarHidden = false 
       }, completion: nil) 
      } 
     }