2017-12-03 29 views
0

私はtextFieldです。タップすると、テーブルビューが表示されます。 テーブルビューをスクロールすると、の高さの25%が表示されます。tableView私はそれを隠したいと思います。出来ますか ?私はscrollViewWillBeginDragging機能を使用していますが、私の望むものではありません。テーブルビューを非表示にするにはどうすればいいですか?

func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 

    let translation = scrollView.panGestureRecognizer.translation(in: scrollView.superview!) 
    if translation.y > 550 { 
     self.animateTableView(shouldShow: false) 
    } 
} 

答えて

0

使用このUIScrollViewDelegate方法: -

func scrollViewDidScroll(_ scrollView: UIScrollView) { 

    let bottomEdge: CGFloat = scrollView.contentOffset.y + scrollView.frame.size.height 
    let contentSize = scrollView.contentSize.height * 0.25 
    if bottomEdge >= contentSize { 

     /* Code to hide tableView */ 
    } 

} 
+0

いや、意図したとおりに動作していません。 ** tableView **は、スクロールするとすぐに消えます。 –

+0

これは、tableviewフレームの高さに対応するtableviewの内容に依存します。一度に30個のセルと4個のセルのみが表示されているとしたら、コンテンツサイズの25%に達するまでしばらくスクロールする必要があるため、このメソッドが動作することがわかります –

関連する問題