【发布时间】:2016-07-31 06:47:30
【问题描述】:
我有一个 UIScrollView,里面有一个 UIView 和一个 UITableView。我想在第一次向下滚动时进行分页,视图向下滑动并将 TableView 定位到顶部(如垂直分页)。所以当用户来到页面时,他会看到 UIView 并且一旦向下滑动,它就会滚动直到 TableView 位于页面顶部,然后是经典的 TableView。然后,如果用户向上滑动超过 TableView 的顶部,则垂直分页回到 UIView。
UIScrollView
|------------------|
| |--------------| |
| | UIView | |
| | | |
| | | |
| | | |
| | | |
| | | |
| |--------------| |
| | TableView | |
| | | |
| | ... | |
| |--------------| |
|------------------|
之前,我使用scrollViewWillEndDragging 来获得上下滑动手势。但是我很困惑如何实现垂直分页。
func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if targetContentOffset.memory.y < scrollView.contentOffset.y {
// Going Up
if Page != 0 { // should also check if TableView is at top.
// Scroll Up To UIView
}
} else {
if 0 < scrollOffset {
if Page == 0 {
// Scroll Down to the top of TableView
// I can also check if view is at the top maybe 200 pixels, but
// I think this would also work.
}
}
}
}
【问题讨论】:
标签: ios swift uitableview uiviewcontroller uiscrollview