测试用例是很容易复制:下载苹果的PhotoScroller示例应用程序,并尝试去适应它,这样平移(包括周围缩放图像,以及之间的每个图像)只能用两个手指。分页的UIScrollView用两个手指平移和缩放
设置panGestureRecognizer
同时为pagingScrollView
和imageScrollView
只接受一个最小&最大的2个触摸似乎是一个良好的开端,但它不工作。它可以让你用两根手指在图像上滚动*,但是分页不起作用。
我已经尝试了很多设置和自定义手势识别器的组合,而且我有点难住。是一个自定义的滚动视图子类将有任何用处,或者我可以以某种方式操纵滚动视图委托方法,使其工作?
* 编辑:其实,它在这种情况下不会正常滚动。视图不再像单触一样顺畅地滑动...
更新:我仍然在为这一个而努力。我希望从谁已与UIGestureRecognizer
S和UIScrollView
在扮演各地的人一些输入。
编辑:
设置ImageScrollView
类只接受两个亮点:
- (id)initWithFrame:(CGRect)frame
{
// ...
// Template code
// ...
[self.panGestureRecognizer setMinimumNumberOfTouches:2];
[self.panGestureRecognizer setMaximumNumberOfTouches:2];
}
设置PhotoViewController
的pagingScrollView
只接受两个亮点:
- (void)loadView
{
// ...
// Template code
// ...
[pagingScrollView.panGestureRecognizer setMinimumNumberOfTouches:2];
[pagingScrollView.panGestureRecognizer setMaximumNumberOfTouches:2];
}
这些修改是直接在PhotoS上面制作的croller示例应用程序。我希望这些简单的改变为两个手指交互工作,但是副作用都是奇数(如上所述)。
正在下载。 108mb o_O – 0xSina
@PragmaOnce:是的,很抱歉链接这么大的样本。它包含分页滚动视图的所有全尺寸和平铺图像。漂亮的图片没有必要证明我的观点,但嘿...! – Stuart
UIScrollView有它自己的私人手势识别器。即使是暴露的panGestureRecognizer是一个私人类。 'NSLog(@“%@”,[pagingScrollView valueForKeyPath:@“gestureRecognizers.class”]);' - >'(UIScrollViewDelayedTouchesBeganGestureRecognizer,UIScrollViewPanGestureRecognizer,UIScrollViewPagingSwipeGestureRecognizer)''。我认为你需要选择一个不同的用户界面。 –