【问题标题】:Recognize a touch for a UIView that is only created at the moment that touch occurs识别仅在触摸发生时创建的 UIView 的触摸
【发布时间】:2013-10-09 22:53:52
【问题描述】:

我创建了一个“幻灯片视图”(UIView 子类),它通过向上拖动在屏幕上显示动画。动画以及与动画相关的所有其他内容都可以正常工作。当幻灯片视图本身初始化时,这个问题只针对屏幕上的第一次触摸:

幻灯片视图本身使用UIPanGestureRecognizer来识别触摸。问题是,我的幻灯片视图只会在用户按下 UIButton 时被初始化。部分幻灯片视图最初位于该按钮上,因此当用户触摸该按钮时,触摸也位于幻灯片视图的框架内。

我只想在触摸发生时创建视图,因为视图很重。我不想浪费资源,因为按钮经常没有被使用。

如何让幻灯片视图识别第一次触摸也会初始化(并将其作为子视图添加到超级视图)幻灯片视图本身?

【问题讨论】:

  • 您是说您的幻灯片视图有手势,然后您还想检测对该幻灯片视图的单击,对吗?
  • @ChinabS。是的,这是正确的。那是错的吗?手势至少有效

标签: ios objective-c uiview uigesturerecognizer uianimation


【解决方案1】:

您可以查看此内容以了解更多详细信息: Gestures

嗯,您可以添加手势平移和点击手势。它肯定会起作用,因为点击不是平移手势的第一个动作。所以无需等待点击手势失败。

简而言之,您可以添加两种手势并简单地处理它们。

【讨论】:

  • 我正在为您的回答而苦苦挣扎:您是说我应该同时使用两种手势还是应该将手势更改为使用 Tab 手势?你能给我更多的细节吗?谢谢。
  • 当然,您应该在幻灯片视图中同时使用这两种手势。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-08
相关资源
最近更新 更多