iphone - 如何扩展按键触控区域?

时间:2010-07-01 17:29:18

标签: iphone ipad

我连续有5个圆形按钮,每个按钮40x40像素。在每一个之间,我有20个像素。

40x40像素太小而无法触摸,但由于每个按钮之间有20个像素的空间,我可以将按键触摸区域扩展到60x60像素,使其易于触摸。我可以简单地使用创建方形60x60像素透明图像的脏解决方案,将其放在按钮上并使其可触摸,但我知道可以通过创建自定义类并更改参数来扩展按钮触摸区域。

我知道这是可能的,因为我之前看过这个(但我找不到网址)。我知道它与hitTest有关。

如何做到这一点? 感谢。

2 个答案:

答案 0 :(得分:3)

Eiko是绝对正确的。这里有一些简单的代码,你可以使用它独立于按钮的位置,有人给我扩展信息按钮框架。

CGRect newInfoButtonRect = CGRectMake(infoButton.frame.origin.x - 25, 
                                          infoButton.frame.origin.y - 25, 
                                          infoButton.frame.size.width + 50, 
                                          infoButton.frame.size.height + 50);
    [infoButton setFrame:newInfoButtonRect];

您可能需要注意是否使用背景图像而不是图像(button setBackgroundImage: vs button setImage: forState:),因为背景图像会随着图像拉伸而正常图像不会

答案 1 :(得分:0)

你总是可以让它的框架更大,即yourButton.frame = CGMRectMake(0,0,60,60); 我通常在添加其中一个信息按钮时执行此操作。