【问题标题】:iOS: Non-square hit areas for buttonsiOS:按钮的非方形点击区域
【发布时间】:2011-04-13 12:20:12
【问题描述】:

我需要制作一些相互重叠的三角形按钮。

虽然 UIButtons 可以将透明图像作为背景,并且 UIControls 可以有自定义视图,但它们的点击区域始终是方形的。如何为我的按钮创建一个三角形的命中区域?

我来自 FLash 背景,所以我通常会为我的视图创建一个 hitarea,但我不相信我可以在 Cocoa 中做到这一点。

有什么建议吗?

【问题讨论】:

    标签: cocoa-touch ios button uikit


    【解决方案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/… 的图像的解决方案
    • 这是一个可行的解决方案。但是即使我触摸按钮之外的区域,也会调用此方法。会不会是不必要的计算,尤其是有多个按钮?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多