iOS开发。 如何扩展UIScrollView的滚动事件响应区域?
我有一个UIScrollView
的分页启用,并设置其clipToBounds = NO
以便我可以看到外面的当前页面。
我想要的是让用户滚动UIScrollView
在其整个可见区域,不仅是当前页面的一部分。
我怎样才能实现呢?
谢谢。
PS根据苹果的文档(http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html),如果pagingEnabled
属性的值是YES
,滚动视图停止用户滚动时滚动视图边界的倍数。
这意味着我不能调整UIScrollView
大小来获得我想要的function而不影响分页function,对吗?
把scrollview放到一个uview中,禁用clipsToBounds
的clipsToBounds。 滚动视图必须是你想要分页的大小。 你会看到滚动视图以外的内容,但分页仍然是一样的。 您可以为外部视图激活clipsToBounce
,以限制clipsToBounce
视图的大小。
覆盖视图的hitTest
以将触摸redirect到滚动视图…然后您也可以通过触摸滚动视图之外的方式进行滚动。
你为什么不调整你的scrollView,使它适合你所需要的区域?
不知道是否会帮助,但尝试重写UIScrollView pointInside
方法
- (BOOL) pointInside:(CGPoint)point withEvent:(UIEvent *)event { CGRect newBounds = self.bounds; newBounds = CGRectInset(bounds, 0, -100.0f); return CGRectContainsPoint(newBounds, point); }