限制iPhone中UIButton中的可触摸区域?

时间:2011-12-28 13:28:58

标签: iphone objective-c ios cocoa-touch

我在视图中有三个自定义按钮,非矩形图像彼此靠近。然后我有一个问题,每个按钮的可触摸区域与其他按钮重叠。那么如何限制每个按钮的可触摸区域以获得相应的动作呢?

3 个答案:

答案 0 :(得分:6)

您可以覆盖-pointInside:withEvent:,内部将用于命中测试。

使用此技术的一个不错的项目是OBShapedButton,其中透明像素不会触发命中。

答案 1 :(得分:3)

使用两个组件。 UIImageView UIButton位于{。}}之上。

答案 2 :(得分:3)

您应该使用以下代码创建自定义类型按钮并在每个上添加所需的图像:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[btn setFrame:frame];

以这种方式创建带图像的按钮不会导致图像重叠问题!!