代码之家  ›  专栏  ›  技术社区  ›  Duck

iphone-如何扩展按键触控区?

  •  0
  • Duck  · 技术社区  · 15 年前

    我有5个圆形按钮,每一个,40x40像素。在每一个之间,我有20个像素。

    40x40像素太小,无法触摸,但由于每个按钮之间有20个像素的空间,我可以将按钮触摸区域扩展到60x60像素,使其易于触摸。我可以简单地使用肮脏的解决方案,创建一个60×60像素的正方形透明图像,将其覆盖在按钮上,并使其可触摸,但我知道可以通过创建自定义类和更改参数来扩展按钮触摸区域。

    我知道这是可能的,因为我看到过这样做(但我找不到网址)。我知道这和hitTest有关。

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Luke    15 年前

    爱子是绝对正确的。这里有一些简单的代码,你可以使用,这是独立的按钮的位置,有人给我扩展信息按钮框。

    CGRect newInfoButtonRect = CGRectMake(infoButton.frame.origin.x - 25, 
                                              infoButton.frame.origin.y - 25, 
                                              infoButton.frame.size.width + 50, 
                                              infoButton.frame.size.height + 50);
        [infoButton setFrame:newInfoButtonRect];
    

    如果使用的是背景图像而不是图像,您可能需要小心( button setBackgroundImage: button setImage: forState: )因为背景图像会随帧拉伸,而普通图像则不会。

        2
  •  0
  •   AaronSieb    15 年前

    你总是可以使它的框架更大,即。 yourButton.frame = CGMRectMake(0,0,60,60); 我通常这样做时,添加一个信息按钮。

    推荐文章