iOS:按钮的非方形点击区域
Posted
技术标签:
【中文标题】iOS:按钮的非方形点击区域【英文标题】:iOS: Non-square hit areas for buttons 【发布时间】:2011-04-13 12:20:12 【问题描述】:我需要制作一些相互重叠的三角形按钮。
虽然 UIButtons 可以将透明图像作为背景,并且 UIControls 可以有自定义视图,但它们的点击区域始终是方形的。如何为我的按钮创建一个三角形的命中区域?
我来自 FLash 背景,所以我通常会为我的视图创建一个 hitarea,但我不相信我可以在 Cocoa 中做到这一点。
有什么建议吗?
【问题讨论】:
【参考方案1】:您可以通过继承 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
已经在接收者的坐标系中。
【讨论】:
谢谢,我会调查的。这里有一篇很好的文章,描述了使用带有 alpha iphonedevelopment.blogspot.com/2010/03/… 的图像的解决方案 这是一个可行的解决方案。但是即使我触摸按钮之外的区域,也会调用此方法。会不会是不必要的计算,尤其是有多个按钮?以上是关于iOS:按钮的非方形点击区域的主要内容,如果未能解决你的问题,请参考以下文章