0

我正在开发一个 iPad 应用程序。我有一个用户可以用手指绘制的视图。这个视图有一个子视图,它是一个计算器,并且有按钮。

我希望当用户触摸按钮时,超级视图(用户可以在其中绘制)不考虑这种触摸。(所以用户在触摸计算器时不会画画)

最好不要更改计算器视图的代码和我的超级视图的代码。我只能通过另一个类的属性访问它们。

请问有办法解决问题吗?我尝试了exclusiveTouch,但它不起作用。

4

2 回答 2

2

如果您可以访问按钮操作和绘图手势,您可以简单地设置:

gesture.enabled = NO;

取消当前的手势处理和/或阻止它启动。何时要重新启用手势取决于它的类型和使用方式,但立即执行(在下一行)可能会正常工作。

于 2013-08-26T08:59:13.173 回答
1

试试这个,但包含UIGestureRecognizerDelegate在你的头文件中。

这是来自苹果“SimpleGestureRecognizers”的例子——

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{
    // Disallow recognition of tap gestures in the segmented control.
    if ((touch.view == YourButton)) 
    {
        //change it to your condition
        return NO;
    }

    return YES;
}
于 2013-08-26T09:58:10.050 回答