Я не совсем уверен, что вы пытаетесь сделать. и я не знаю, почему вы помещаете каждый из UIImageView's
в UIView
, который вы помещаете в представление контроллера представления. Вы также можете добавить UIImageView's
в качестве подвидов представления контроллера представления напрямую.
Тем не менее, из того, что я могу разглядеть, похоже, что пользователь должен иметь возможность перетаскивать изображения на экране вокруг.
Если это так, я бы посоветовал вам хранить каждый из UIImageView's
в массиве. Затем, в touchesBegan:withEvent:
, вам нужно будет определить, к какому UIImageView
обращаются. Хорошее начало - получить CGPoint
, представляющий местоположение на главном экране, как вы делаете в своем коде. Если вы добавили UIImageView's
непосредственно в качестве дополнительных видов основного вида, вы можете сравнить координаты этого CGPoint
с кадрами этих UIImageView's
, чтобы определить, какой из них нажимается.
Затем, чтобы разрешить перетаскивание, необходимо сохранить координаты UIImageView
в начале касания. Затем, каждый раз, когда касание перемещается, вы можете вычислить новую x-позицию UIImageView
как исходную x-позицию, плюс пройденное расстояние. То есть
newImageViewX = imageViewStartX + (newTouchX - touchStartX);
и аналогично для y-позиции.