2017-01-19 1 views
0

나는 UIWebview이 위에 있으며 UIStackView입니다. 나는 을 숨기기을 표시애니메이션와 함께 stackview는 크롬 브라우저의 효과처럼 webview에서 스크롤합니다.스위프트 : UIWebview 스크롤에서 UIStackView 숨기기

어떻게해야합니까?

P.S :이 사람은 당신이 당신의 StackView의 높이를 변경하는 UIView에서 스크롤 및 사용 방법 animate(withDuration duration: TimeInterval, animations: @escaping() -> Swift.Void)을 감지하는 데 사용할 수 있습니다

iOS/Swift - Hide/Show UITabBarController when scrolling down/up

답변

1

ScrollViewscrollViewDidScroll을 가지고 작동하지 않았다. 이것은 아마도 가장 간단한 해결책 일 것입니다.

편집 : 당신이 상호 작용을 감지하려면

이전 scrollViewWillBeginDragging(_ scrollView: UIScrollView)을 시도합니다. 이렇게해도 문제가 해결되지 않으면 나만의 맞춤 동작을 만들어서 scrollview에 추가하십시오.

+0

이 방법은 정상적으로 작동하지만 스크롤이 완료된 후에 만 ​​작동합니다. 스크롤하는 동안 애니메이션을 적용하고 싶습니다. –

1

나는 Axel의 조언을 따라 작업해야합니다. 코드는 다음과 같습니다.

var lastContentOffset: CGPoint! 

func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 
    lastContentOffset = scrollView.contentOffset 
} 

func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) { 
    if lastContentOffset.y > scrollView.contentOffset.y { 
     print("Going up!") 
     if topBarStackView.isHidden == true{ 
      UIView.animate(withDuration: 0.2, animations: { 
       self.topBarStackView.isHidden = false 
      }) 
     } 
    } else { 
     print("Going down!") 
     if topBarStackView.isHidden == false { 
      UIView.animate(withDuration: 0.2, animations: { 
       self.topBarStackView.isHidden = true 
      }) 
     } 
    } 
} 
관련 문제