【问题标题】:Making the UIButton hit area larger than the default hit area使 UIButton 的点击区域大于默认的点击区域
【发布时间】:2015-07-31 01:01:42
【问题描述】:

我正在尝试使 UIButton 的点击区域更大。

我尝试使用:

myButton.setHitTestEdgeInsects

但 Xcode 无法识别它。

我也试过了:

myButton.contentEdgeInsets = (UIEdgeInsetsMake(5, 5, 5, 5))

但它改变了我的按钮的外观。

我正在使用 swift,因此我将必要的文件添加到了导入标头中。 我想问题就在那里。有人可以提供帮助或讲述类似的快速功能吗?这是我尝试使用的函数 -

编辑 - 我想我离解决方案越来越近了 因为我用 swift xcode 写的东西是这样识别的

 myButton.hitTestEdgeInsets = UIEdgeInsetsMake(-200, -200, -200, -200)

而不是 -

 myButton.setHitTestEdgeInsets = UIEdgeInsetsMake(-200, -200, -200, -200)

所以现在 xcode 可以识别它,但我的命中区域仍然没有变化..

【问题讨论】:

  • 可以发截图吗?
  • 如果要加大尺寸,应该是UIEdgeInsetsMake(-5, -5, -5, -5)
  • setHitTestEdgeInsects 不是本机实现,而是 UIButton 上的一个类别,如以下答案所示:stackoverflow.com/a/13067285/2043580
  • 但它只会增加按钮的大小和位置。我希望按钮看起来相同,只是为了增加点击位置也是按钮标题所在的位置(按钮上方)

标签: ios swift uiview uibutton


【解决方案1】:

您为什么要简单地创建一个自定义按钮,该按钮的大小与您的命中框一样,但在其内容中包含一个边距?

或者可能在你的按钮上加上UIEdgeInsets,你的按钮会有一个边距,所以点击框看起来比这个解决方案的按钮大..

【讨论】:

  • 因为我需要我的按钮很小,并且在使用 UIEdgeInsets 时我的按钮图像会发生变化
  • 是的,如果您应用 UIEdgeInsets 正数,您的按钮内将有一个边距,因此您的按钮将比点击框更小
  • 请看我上面的编辑。我得到了 xcode 来识别该功能,但我的命中区域没有任何变化
猜你喜欢
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
相关资源
最近更新 更多