2017-01-19 2 views
0

私はUIWebviewがあり、その上にUIStackViewがあります。私はを非表示にするを表示アニメーションでstackviewは、クロムブラウザの効果のようにwebviewでスクロールします。スウィフト:UIWebviewのUIStackViewをスクロールする

どうすればよいですか?

P.S:この1つは、あなたのStackViewの高さを変更するUIViewからスクロールや使用方法animate(withDuration duration: TimeInterval, animations: @escaping() -> Swift.Void)を検出するために使用することができ

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

答えて

1

ScrollViewscrollViewDidScrollを持って動作しませんでした。これはおそらく最も簡単な解決策です。

編集:あなたが相互作用を検出する場合

以前scrollViewWillBeginDragging(_ scrollView: UIScrollView)を試してみてください。これでも問題が解決しない場合は、独自のカスタムジェスチャーを作成してスクロールビューに追加してみてください。

+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 
      }) 
     } 
    } 
} 
関連する問題