如何在UIView中处理click事件

时间:2012-02-28 14:55:36

标签: ios xcode events click

我正在写一个简单的纸牌游戏,现在我想让卡片点击它的一部分..我的所有卡片都是UIView对象,里面有2个UIImageView来显示背面或者前面的卡片。我想处理鼠标点击,我真的不知道该怎么做。是否有要添加的界面?谢谢!

5 个答案:

答案 0 :(得分:6)

您可以制作卡片按钮(可能不是最佳解决方案)并处理代码中的按钮事件。您可以在卡片或超级视图上使用手势识别器。您可以将每张卡片作为UIView的子类,并覆盖处理触摸事件的UIResponder方法。

或者你可以变得非常棘手并制作卡CALayer,并在父视图中处理UIResponder事件。最后一个建议可能会让您在用户玩游戏时动画卡片的灵活性最大。

无论如何,我认为UIResponder方法就是你所追求的。 UIView是UIResponder的子类,因此您必须在您定义的某个子类中实现它们。

答案 1 :(得分:3)

你有没看过UIGestureRecognizer班?将函数调用链接到某种交互非常有用。有不同类型的手势,水龙头,滑动,平底锅。听起来像敲击手势可能会帮助您每次敲击卡时更改UIImageView。

答案 2 :(得分:2)

@Convolution是正确的:使用UITapGestureRecognizer识别没有点击事件的对象上的选项卡。这是最简单,最干净的解决方案。

为了识别点击而进行的子类化只会在您创建一个您将在很多时候重复使用的自定义对象时获得回报。

答案 3 :(得分:1)

不要使用UIImageView来显示卡片,而是考虑使用UIButtons(对于按钮类型使用“自定义”,因此只能看到的边框是图像的边界)。然后,您可以将卡片图像设置为这些按钮的图像。

答案 4 :(得分:1)

只需在图片下方设置自定义按钮即可。然后你只需要使图像不可触摸。这样,您与按钮连接的方法将在touchevents上执行。