如何扩大按钮的触摸区域?

5
我有一个箭头按钮,我想保持它的大小,但希望其周围的触摸区域更大。
我使用了这篇文章中的答案 Here,但它使我的按钮变大了。
问题在于按钮的图片比它呈现的尺寸要大。但是我认为一定有一种方法可以不编辑或添加透明按钮就实现它。
3个回答

2

使用带有“center”模式的图像的自定义按钮(这意味着它不会随着按钮大小而调整大小,并始终保持在中心)。然后,您可以使按钮尽可能大,而按钮图像始终保持相同大小的中央位置。


1

你可以通过扩展按钮类并覆盖hitTest方法来实现。在你的版本中,你可以扩大检查区域以包括缓冲区域,并在触摸发生在其中时返回按钮。


谢谢。听起来是个不错的解决方案,我可能会放置透明按钮...这样更容易.. :) - AYBABTU
这个不起作用。按钮会高亮显示等等,但它的目标/选择器在UIControlEventTouchUpInside时没有被调用。 - Mike Weller

0

在这个按钮后面放一个透明的按钮也可以,然后将其指向该方法...我想你可以用多种方式来解决这个问题。应该选择最简单、开销最小的选项。


1
但你也必须考虑预期开销。 从UIButton派生一个扩展按钮类,可能会在未来帮助你减少开销。 :) - AYBABTU

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接