2017-12-03 1 views
0

Ich habe eine textField und wenn ich tippen Sie eine tableView erscheinen unten. Wenn ich den TableView scrollen, sagen wir 25% der Höhe des tableView Ich möchte es ausblenden. Ist es möglich ? Ich verwende die scrollViewWillBeginnDragging Funktion, aber es ist nicht was ich will.Wie kann ich eine tableView ausblenden, wenn ich es auf einen bestimmten Punkt ziehen, Swift

func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 

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

Antwort

0

verwenden UIScrollViewDelegate Methode: -

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

Nö, funktioniert nicht wie beabsichtigt. Der ** tableView ** verschwindet fast sofort, wenn ich ihn runterscrolle. –

+0

Das hängt vom Inhalt Ihrer Tabellenansicht ab, der der Tabellenansichtsrahmenhöhe entspricht. Angenommen, Sie haben 30 Zellen und nur 4 Zellen gleichzeitig sichtbar, dann sehen Sie, dass diese Methode funktioniert, da Sie eine Weile scrollen müssen, um die 25% der Inhaltsgröße zu erreichen –

Verwandte Themen