【发布时间】:2014-03-03 20:40:38
【问题描述】:
我在视图中有一个 UIButton,在该按钮上我有一个 UILabel (TTTAttributedLabel)。 (https://github.com/mattt/TTTAttributedLabel) (虽然,这不是与 TTTAttributedLabel 自定义类相关的直接问题)
这个 UILabel 执行一些带有触摸的动作,如果不喜欢触摸坐标,它会将它们转发给 super 并在相应的方法中使用以下内容:
[super touchesBegan:touches withEvent:event];
[super touchesMoved:touches withEvent:event];
[super touchesEnded:touches withEvent:event];
[super touchesCancelled:touches withEvent:event];
我看到在这种情况下按下了下面的按钮。我还看到UIButton 中的所有这些方法都被完美地调用了。我还记录 UITouch 对象以查看它们是否匹配。
问题是,设置为UIButton 的操作没有被调用(即使是UIControlEventTouchDown)。是什么触发了这些动作?我认为与 touchesEnded 匹配的 touchesBegan 应该调用为该按钮添加的目标操作的选择器。
【问题讨论】:
标签: ios objective-c uibutton uitouch