自定义形状按钮objective-c

时间:2015-05-14 16:20:40

标签: ios objective-c

我正在为拥有大量交互式图像对象的孩子构建应用程序(点击图片并获取结果)

例如:我的屏幕上有猫,点击它我需要发出声音。

在阅读了大量信息后,我意识到将图像的某些部分转换为可点击的对象几乎是不可能的。

虽然应用程序商店中有很多游戏,其中包含许多自定义形状的可点击对象。他们是如何做到这一点的?

我需要阅读以获得答案?提前谢谢。

更新:我可以将剪贴画图像作为矢量图形,例如 .svg 文件。它会使情况更简单吗?

3 个答案:

答案 0 :(得分:0)

将每个图像实现为UIButton,并将每个按钮的背景设置为所需的图像。 (了setBackgroundImage)

链接: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/

答案 1 :(得分:0)

使用图片是一种选择,但如果您想要在某种非矩形形状内进行点击,请查看OBShapedButton

答案 2 :(得分:0)

如果你真的想要超精确的触摸,你可以构建一个形状为bezierpath然后使用

[UIBezierPath containtsPoint:]

https://developer.apple.com/library/ios/documentation/uikit/reference/UIBezierPath_class/Reference/Reference.html#//apple_ref/occ/instm/UIBezierPath/containsPoint%3a

您还可以在触摸下方获得像素颜色,但如果用户在边缘附近轻敲,则不会产生太大的错误空间:

https://stackoverflow.com/a/7101544/78496