【发布时间】:2011-04-13 12:20:12
【问题描述】:
我需要制作一些相互重叠的三角形按钮。
虽然 UIButtons 可以将透明图像作为背景,并且 UIControls 可以有自定义视图,但它们的点击区域始终是方形的。如何为我的按钮创建一个三角形的命中区域?
我来自 FLash 背景,所以我通常会为我的视图创建一个 hitarea,但我不相信我可以在 Cocoa 中做到这一点。
有什么建议吗?
【问题讨论】:
标签: cocoa-touch ios button uikit
我需要制作一些相互重叠的三角形按钮。
虽然 UIButtons 可以将透明图像作为背景,并且 UIControls 可以有自定义视图,但它们的点击区域始终是方形的。如何为我的按钮创建一个三角形的命中区域?
我来自 FLash 背景,所以我通常会为我的视图创建一个 hitarea,但我不相信我可以在 Cocoa 中做到这一点。
有什么建议吗?
【问题讨论】:
标签: cocoa-touch ios button uikit
您可以通过继承 UIButton 并提供您自己的来实现:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
// return YES if point is inside the receiver’s bounds; otherwise, NO.
}
Apple's UIView Documentation 提供详细信息,例如确认point 已经在接收者的坐标系中。
【讨论】: