【发布时间】:2014-11-03 21:51:17
【问题描述】:
我在 UIView 上有一个 UILabel。
UIView 具有双击放大功能。但是,如果用户双击文本,我想要一个文本编辑器出现,我不希望图像缩放。现在,如果他们双击文本,编辑器就会出现并放大。
你知道如何让 UILabel 吞下触摸事件吗?
欢迎使用 Objc 和 Swift 回答!
【问题讨论】:
-
双击是用手势完成的吗?如果是这样,请获取 UILabel 的位置,并确保如果 Tap 正在点击该 UILabel 框位置,则忽略该 Zoom 调用。并允许其余的工作相同。
-
虽然 IMO 的设计很糟糕。 UIView 不需要知道或关心是否在其顶部的对象上发生了触摸。它应该只是回应。 UILabel 应该能够阻止命令前进并保持其责任
-
我同意你的看法。顶部的对象应该拦截手势,后面的对象甚至不应该注意到该动作,除非被直接触摸。因此,要么是他们对手势工作方式的设计存在问题,要么是预期存在问题,我们应该解决它。
标签: ios objective-c swift uiview uigesturerecognizer