使 UIButton 的点击区域更大
Posted
技术标签:
【中文标题】使 UIButton 的点击区域更大【英文标题】:make UIButton tap area larger 【发布时间】:2015-03-24 14:44:01 【问题描述】:我有很多按钮,但它们都很小,我不想让它们变大,我只想让点击区域更大。我试过了
func makeInsets(button: UIButton)
button.imageEdgeInsets = UIEdgeInsets(top: -40, left: -40, bottom: -40, right: -40)
但这只会使图像更大。对此案有何建议?
【问题讨论】:
你不能让按钮的点击区域超出它的框架。 这就是按钮的用途!!!你可以试试touch开始的方法!! 所以唯一的办法就是让按钮的框架更大? 是的!!!这是唯一的方法 将按钮的大小更改为更大...? 【参考方案1】:您可以通过将按钮框架变大然后使用EdgeInsets
进行调整来做到这一点:
1 选择您的按钮;
2 转到此菜单和“边缘”类别;
3 选择“内容”并选择“图片”;
4 调整“上”“下”“左”右“插图调整按钮内的图像
为此,必须将图像添加到带有“..setImage”而不是“..setBackgroundImage”的按钮
如果选择“内容”,它将同时修改:按钮内的图像和文本
它也可以通过编程方式完成,但由于无法看到实时修改而有点困难,您必须计算。
希望对你有帮助。
更新:
作为您问题更新的更新,您可以尝试:
-将-40
更改为40
:这将使您的按钮保持更大,并且内部的图像将在每边变小40,它会回答您的问题
btn.contentEdgeInsets
而不是 btn.imageEdgeInsets
并设置值
【讨论】:
谢谢。像魅力一样工作!【参考方案2】:使按钮的框架更大,但在界面生成器中更改视图模式以使图像居中,而不是填充。这会使图像保持原始大小,但按钮的边框会不可见地延伸。
【讨论】:
以上是关于使 UIButton 的点击区域更大的主要内容,如果未能解决你的问题,请参考以下文章
如何使 UIButton 与 UIScrollView 一起移动