因此,似乎UIButton类型为UIButtonTypeInfoLight的可点击区域比其帧大得多。因此,我不能在它旁边放一个按钮,尝试点击它会改为点击信息按钮。
_infoButton.frame = CGRectMake(0, 0, 40, height);
_searchButton.frame = CGRectMake(CGRectGetMaxX(_infoButton.frame), 0, 40, height);
有没有人对如何获得按钮的可点击区域有任何疑问?
编辑:按下信息按钮旁边的按钮,这不是我的核心问题(只是说明为什么它可能很重要)。我的问题是找出这些类型的按钮的“命中区域”。
答案 0 :(得分:3)
我不确定从代码中查找命中区域的特定矩形,但有一种方法可以专门设置可以点击的区域。您可以继承UIButton
并覆盖UIView
的{{1}}来设置区域。这是一个显示扩大命中区域的示例,但我很确定您也可以使用它来减少区域:Larger Hit Area for UIButton
我想你可以使用这种方法的反复试验来挖掘区域并找出命中区域范围内的内容。我知道这不太理想,但这就是我发现的。