gpt4 book ai didi

ios - 一次限制一个 View 平移

转载 作者:行者123 更新时间:2023-11-29 03:43:39 25 4
gpt4 key购买 nike

我在五个 View 上应用了 UIPanGestureRecognizer,彼此之间有一定距离,从顶部开始具有相同的 Y 轴(框型形状)。

我正在 X 轴上平移拖动 View 。问题是我可以通过多次触摸来拖动多个 View 。我想限制一次拖动一个 View 。

我尝试使用UIPanGestureRecognizer属性

pan.maximumNumberOfTouches=1;

但这仅适用于单一 View 。有什么想法吗?

最佳答案

也试试这个,

假设您已将所有这五个 View 添加到 viewController 的 View 上。然后执行以下操作;

myViewController.view.multipleTouchEnabled = NO;

这使得 mainView 仅处理第一次触摸,并且只有第一次触摸才会沿着层次结构向下流动(即到 subview 及其手势识别器)

希望这能起作用。

备用:

  1. 在包含 5 个 View 的 mainView 或 mainViewController 的界面中定义它。

    @property(nonatomic,retain)UIPanGestureRecognizer *currentRecognizer;

    1. 然后应用以下代码。

-(void)on_pan_gesture:(UIPanGestureRecognizer*) panGestureRecognizer
{

if(self.currentRecognizer != nil && [self.currentRecognizer isEqual:panGestureRecognizer])

        {
//do the task of the selected gesture recognizer
//this recognizer will be active till the touches are not ended or cancelled.
//hence on the first recognizer will work.
}
else
{
//if there is not currentRecognizer then set this recognizer to be current.
self.currentRecognizer = panGestureRecognizer;
}
}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
self.currentRecognizer = nil;
}

-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
self.currentRecognizer = nil;
}

关于ios - 一次限制一个 View 平移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18017558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com