2010-11-08 88 views
5

我有一个箭头按钮,我想保持小,但我希望它周围的触摸区域更大。如何扩展按钮触摸区域?

我使用了帖子Here的答案,但它使我的按钮变大了。

问题是,按钮的图片大于其展示的尺寸。但我认为必须有一种方法来做到这一点,而无需编辑它或添加一个透明的按钮。

回答

1

您应该可以通过扩展按钮类并覆盖hitTest方法来做到这一点。在您使用此方法的版本中,您可以扩展选中的区域以包含缓冲区,并在触摸发生时返回该按钮。

+0

谢谢。听起来像一个很好的解决方案,我可能只是把透明按钮...更容易.. :) – AYBABTU 2010-11-08 13:01:19

+0

这是行不通的。该按钮将突出显示等,但其目标/选择器不会针对UIControlEventTouchUpInside进行调用。 – 2012-05-16 09:48:53

2

对模式为“center”的图像使用自定义按钮(这意味着它不会随着按钮大小调整大小并始终保持居中)。然后,您可以使按钮尽可能大,并且按钮图像始终保持在相同尺寸的中间。

0

这个按钮背后的透明按钮也可以工作,只需指出该方法...我想你可以采取这种多种方式。人们应该选择最简单的选项,以最小的开销。

+1

但是你也必须考虑预期的开销。 从UIButton派生一个扩展按钮类也可能在未来帮助你,从而减少开销。 :) – AYBABTU 2010-11-08 17:11:00