【问题标题】:Passing touches from UIImageView to superview从 UIImageView 传递触摸到 superview
【发布时间】:2015-02-18 11:09:09
【问题描述】:

我有四个UIImageViews 放在一个圆形UIView 上。拖动UIView 旋转视图。但是当我拖动 UIImageView 时,不会发生旋转。 UIImageView 正在吃东西。

我将 UIImageView 子类化并尝试了这个:

- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.superview touchesMoved:touches withEvent:event];
    [super touchesMoved:touches withEvent:event];
}

这似乎并不能解决问题。我尝试禁用对UIImageView - [imageView setUserInteraction:NO] 的触摸。那也解决不了问题。我知道有人问过类似的问题。但似乎没有一个能解决我的问题。

谢谢。

【问题讨论】:

  • 你在哪里写视图旋转代码。
  • 父 UIView 内的@Nagarajan

标签: ios objective-c uiview uiresponder


【解决方案1】:

尝试在您的UIImageViews 上将userInteractionEnabled 设置为NO,这应该可以防止他们使用触摸。

【讨论】:

  • 抱歉,我不知道您所说的“禁用触摸”是什么意思。如果您禁用它们,您的 touchesMoved:withEvent: 方法是否仍然被调用?如果是,那么我建议使用UIPanGestureRecognizer 来检测拖动。
  • 是的。 touchesMoved 仍然被调用。所以我在超级视图上放了一个平移手势?有没有其他办法?
  • 我刚刚尝试了将userInteractionEnabled 设置为NO 的解决方案,对我来说它有效,这意味着只有超级视图的touchesMoved:withEvent: 被调用(即使我拖动子视图),所以您的设置一定有其他问题
  • 我不确定出了什么问题。一切似乎都很好。
  • @Anil 也许你在某个地方有另一个子视图?你有没有尝试实现hitTest:withEvent:(UIEvent *)event?如果你在hitTest中放一个断点会发生什么,它是否进入断点?
猜你喜欢
  • 2023-03-29
  • 2012-02-08
  • 2019-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 2015-03-20
  • 1970-01-01
相关资源
最近更新 更多