касания завершены / После завершения перетаскивания мне нужно проверить, касается ли перетаскиваемый кадр изображения любого из моих 100 изображений кадра

#objective-c #xcode #cocoa-touch #ipad #uiimageview

#objective-c #xcode #cocoa-touch #iPad #uiimageview

Вопрос:

у меня есть 100 UIViews в классе UIViewController. я перетаскиваю отдельный ImageView поверх своих 100 UIViews.

когда касания завершены / перетаскивание завершено, мне нужно проверить, касается ли перетаскиваемый кадр изображения любого из моих 100 фреймов UIViews.

есть ли способ это проверить. Я присвоил теги каждому из моих 100 UIViews.

Есть ли какой-нибудь простой способ получить информацию о UIView.(более 100 условий переключения).

например:

 CGPoint touchEndpoint = [touch locationInView:self.view];
CGPoint imageEndpoint = [touch locationInView:imageview];
 if(CGRectContainsPoint([imageview frame], touchEndpoint))
 {
  

Комментарии:

1. У меня есть одно предложение для вас. когда вы добавляете 100 просмотров в родительский вид, почему бы не 100 кнопок с уникальным тегом поверх всех представлений, и когда с помощью события щелчка этой кнопки вы можете управлять этим представлением, а затем перемещать это представление также для перетаскивания.

Ответ №1:

Добавьте свои UIViews в NSMutableArray (myViews в примере), тогда вы можете это сделать…

 for(UIView *aView in myViews) {
  if(CGRectContainsPoint([myView frame], touchEndPoint)) {
    //DO STUFF
  }
}