【问题标题】:touchesMoved for Multiple UIImageViewstouchesMoved 用于多个 UIImageViews
【发布时间】:2012-10-20 12:49:36
【问题描述】:

我有多个 UIImageViews 放置在以编程方式添加的 UIView 上生成 NxN 网格视图,并且所有的 userInteractionEnabled 属性都设置为 YES

已编辑

我现在有另一个问题,如果我开始拖动 UIImageView 并悬停在其他 UIImageViews 上,只有第一个调用 touchesMoved 方法。例如。 touchesMoved 方法中带有 [[touches anyObject] view.tag] 的示例 NSLog 将打印:

Log: touchesBegan for object with tag=123
Log: touchesMoved for object with tag=123
Log: touchesMoved for object with tag=123
...
Log: touchesEnded for object with tag=123

有没有办法做到这一点?如果用户动态拖动 UIImageViews,我基本上想突出显示选定的单元格。

【问题讨论】:

  • 您是否也实现了touchesBegantouchesEndedtouchesCanceled 方法?如果是这样,它们是否以名义顺序被调用(开始 ->(通常是多个)移动 -> 结束)?您确实需要实现所有这些。
  • @bobnoble 显然我犯了一个错误 - 一旦调用 touchesBegan 方法,我就一直在删除并重新添加 UIImageView,这就是原因。我现在已经编辑了这个问题,因为我有一个完全不同的问题。

标签: ios xcode uiimageview touchesmoved


【解决方案1】:

试试这个:

if ([touch view] == img1) { 
   // move the image view
   img1.center = touchLocation;        
}
else if ([touch view] == img2) {
    // move the image view
   img2.center = touchLocation;        
}

【讨论】:

  • 我的问题不涉及任何 UIImageView 的移动。我只想在用户不断拖动视图时突出显示(例如更改背景颜色或图像)适当的单元格。
猜你喜欢
  • 2021-01-17
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
相关资源
最近更新 更多