滚动水平UIScrollView以步进的增量?
我有一个可以水平滚动的UIScrollView。 可滚动内容以列显示。
有没有办法使滚动只能以步进的增量而不是像素(即一次移动一列)。
图:
是的:
yourScrollView.pagingEnabled = YES;
检查UIScrollView以获取更多信息。
如果此属性的值为YES,那么当用户滚动时,滚动视图停止滚动视图边界的倍数。 默认值是NO。
我build议您可能需要将您的视图结构更改为如下所示:
+--------+ | | <- UIView to hold your structure +--------+ +--+ | | <- UIScrollView, clipsToBounds = NO, width = column.width +--+ +--+--+--+ | | | | <- UIView columns +--+--+--+
水平居中UIScrollView
,并确保包含UIScrollView
的UIView
的宽度是UIScrollView
宽度的倍数
虽然我认为分页可能是正确的答案,但这不是你所要求的,这是滚动的(列“在任何时候”)。 我相信你可以提供一个-scrollViewDidScroll:
委托和调整contentOffset到最近的列。
如果你的目标iOS 5.0,你可以使用新的UIScrollViewDelegate方法scrollViewWillEndDragging:withVelocity:targetContentOffset。 这允许您在用户停止拖动滚动视图之后设置滚动animation将结束的点。