【问题标题】:UIButton touch up inside event, bounds change?UIButton在事件内部修饰,边界改变?
【发布时间】:2011-06-28 07:11:54
【问题描述】:

所以,在昨晚深夜浪费了几个小时之后,我发现了 UIButton 的一个有趣行为。我可能在过去遇到过这种情况,但不记得了。到目前为止,我找不到这种行为的解释,所以如果您对此有任何信息,请赐教:

创建UIButton 的实例,然后将其操作设置为UIControlEventTouchUpInside。现在,在您正在运行的应用程序中,按住按钮并按住不放,远离按钮并注意移动/拖动手指时边界似乎发生了变化。触摸被识别为距按钮的原始框架(边界)相当远。

这在我的应用程序中造成了相当多的问题,我使用 locationInView: 来确定 UITableViewCell 的 indexPath,即按钮的父视图。

我确定 indexPath 的两个替代解决方案是:

  1. 使用超级视图的按钮 superview,这是 UITableViewCell,连同 UITableView 的indexPathForCell: 方法。

  2. 宁可使用UIControlEventTouchDown 指定我的按钮操作时。

希望有人觉得这很有帮助,或者可以为问题的解决方案做出贡献。

【问题讨论】:

  • 我认为这是一个功能而不是错误。我认为这样做是为了更便于触摸。
  • 是的,我的想法也是......文档让我们猜测......

标签: iphone ios uibutton bounds uievent


【解决方案1】:

您可以使用 touchesBegan:withEvent。

【讨论】:

  • 是的,但是你需要对你曾经使用过的每个按钮进行子类化。
  • 不,您可以在视图控制器中使用 touchesBegan。
猜你喜欢
  • 2011-01-05
  • 2014-02-03
  • 1970-01-01
  • 2020-08-07
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
  • 1970-01-01
相关资源
最近更新 更多