【发布时间】:2011-06-28 07:11:54
【问题描述】:
所以,在昨晚深夜浪费了几个小时之后,我发现了 UIButton 的一个有趣行为。我可能在过去遇到过这种情况,但不记得了。到目前为止,我找不到这种行为的解释,所以如果您对此有任何信息,请赐教:
创建UIButton 的实例,然后将其操作设置为UIControlEventTouchUpInside。现在,在您正在运行的应用程序中,按住按钮并按住不放,远离按钮并注意移动/拖动手指时边界似乎发生了变化。触摸被识别为距按钮的原始框架(边界)相当远。
这在我的应用程序中造成了相当多的问题,我使用 locationInView: 来确定 UITableViewCell 的 indexPath,即按钮的父视图。
我确定 indexPath 的两个替代解决方案是:
使用超级视图的按钮 superview,这是
UITableViewCell,连同 UITableView 的indexPathForCell: 方法。宁可使用
UIControlEventTouchDown指定我的按钮操作时。
希望有人觉得这很有帮助,或者可以为问题的解决方案做出贡献。
【问题讨论】:
-
我认为这是一个功能而不是错误。我认为这样做是为了更便于触摸。
-
是的,我的想法也是......文档让我们猜测......
标签: iphone ios uibutton bounds uievent