小编sti*_*poy的帖子

在UIScrollView中禁用2个手指滚动

我想在我的手机中禁用双指滚动UIScrollView.
我将其子类化并使用以下代码调整其内置手势识别器:

for (UIGestureRecognizer *mgestureRecognizer in scroller.gestureRecognizers) {     
    if ([mgestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]])
    {
        UIPanGestureRecognizer *mpanGR = (UIPanGestureRecognizer *) mgestureRecognizer;
        mpanGR.minimumNumberOfTouches = 1; 
        mpanGR.maximumNumberOfTouches = 1;

    }

    if ([mgestureRecognizer isKindOfClass:[UISwipeGestureRecognizer class]])
    {
        UISwipeGestureRecognizer *mswipeGR = (UISwipeGestureRecognizer *) mgestureRecognizer;
        mswipeGR.numberOfTouchesRequired = 1;
    }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,maximumNumberOfTouches似乎没有用.我仍然可以用一根或两根手指滚动.如果我将两个属性都更改为2,我可以成功禁用单指滚动并需要两次触摸.

有任何想法吗?

objective-c uiscrollview uigesturerecognizer

19
推荐指数
1
解决办法
3730
查看次数