2019년 9월 16일 월요일

화면 스크롤시 애니메이션으로 네비게이션 바 숨기기

목적 및 의도 
  • 화면을 스크롤 할 때 애니메이션효과와 함께 네비게이션바를 숨기기 
  • 기본 프로퍼티 hidesBarsOnSwipe로 네비게이션 바 숨김이 가능하지만 탭바와 애니메이션 타이밍이 조금 다름. (탭바의 경우 터치 종료시점에 애니메이션이 발생) 
  • 탭바와 동일한 방식으로 숨기기 
방법  

self.navigationController?.hidesBarsOnSwipe = true

또는 

이슈 및 더 확인해 볼 내용
  • 웹 페이지의 헤더 부분 및 Reload 되는 화면에서 프레임 문제 발생하여 자연스럽지 않음 
  • 웹뷰의 제약조건 확인 필요 (webView.top,  Safe Area, SuperView.top)
  • 웹뷰(WKWebView)의 Back, Forward 할 때 프레임이 조금씩 맞지 않는 것 같다. 네비게이션 바가 숨겨진 상태에서 앞으로 갈 때에는(goForward) 네비게이션 바가 숨겨진 상태는 비워둔 채 웹페이지가 로드되고, 뒤로 갈때에는 네비게이션 바에 가려진 상태로 뒤로가진다. 
  • 웹뷰에서의 네비게이션 바 숨기기는 조금 더 찾아볼 필요가 있음 
참고: 12345.