J'ai un UITableView
dans un UIScrollView
La vue de la table ressemble à:
private(set) lazy var tableView: UITableView = { let tableView = UITableView(frame: CGRect.zero, style: .plain) tableView.separatorStyle = .none tableView.showsVerticalScrollIndicator = false tableView.rowHeight = 70 tableView.backgroundColor = .blue tableView.bounces = false tableView.alwaysBounceVertical = false tableView.isScrollEnabled = false return tableView }()
Comme vous le voyez, j'ai désactivé le défilement dans la vue de la table parce que je veux qu'elle défile avec le rest des vues à l'intérieur de l' UIScrollView
. Ce que je veux réaliser cependant, est d'activer le défilement de la tableView lorsque l' UIScrollView
a atteint un certain offset, donc je l'ai dans la méthode scrollViewDidScroll
delegate:
func scrollViewDidScroll(_ scrollView: UIScrollView) { if scrollView.contentOffset.y >= 160 { self.view.tableView.isScrollEnabled = true } }
Ce qui précède fonctionne partiellement. Le UITableView
dont le défilement est activé ne défile pas, à less que je ne lève mon doigt de l'écran et recommence à défiler.
Des idées comment puis-je get le comportement souhaité?
Important : Vous ne devez pas intégrer d'objects UIWebView ou UITableView dans les objects UIScrollView. Si vous le faites, un comportement inattendu peut se produire car les events tactiles pour les deux objects peuvent être mélangés et traités de manière incorrecte.