У меня есть вид UIView
как вид контейнера/держателя. Внутри что у меня есть группа UIView
с (иконки)Испытание на удар по группе на подуровнях
Считайте это похоже на SpringBoard- в iPhone в вас есть SBIconList
(UIView
подкласс) с группой SBIcon
с (также UIView
подклассов)
Так далеко, каждый значок моих икон перетаскивается, но у меня возникают проблемы с записью кода обнаружения столкновений, чтобы обнаружить попадание между значком перетаскивания и другим значком.
Моя базовая установка до сих пор: я пишу хит-тестовый код в рамках значка touchesMoved
. Затем я «за» прохожу через каждый подсмотр вида контейнера (каждый значок) и попробую CGRectContaninsPoint(currentSubviewFrame, touchPoint)
. currentSubviewFrame
является рамкой для значка в текущем цикле цикла «для». И touchPoint
является x/y сенсорной точки на экране.
Проблема заключается в том, что, поскольку код написан под видом одного из подзонов контейнера, координаты, похоже, становятся относительно подсмотра. Например, координата touchPoint
(глобально) должна быть, скажем, 160,240
(центральный экран), но эта координата NSLog
ed as, скажем 30,30
. (Центральный по отношению к значку 60x60) Тот же случай для currentSubviewFrame
x
, y
, width
& height
.
Следует упомянуть, что этот код имеет, который будет подпадать под сферу действия события touchesMoved
subview.
Любая помощь будет оценена по достоинству. Заранее спасибо :)
А, именно то, что мне нужно! Спасибо! :) – Jamie
Отлично! Если это ответили на ваш вопрос, отметьте ответ как принятый. – aegzorz