2015-02-18 4 views
0

enter image description here Как видно на скриншоте, у меня есть два неподвижных зеленых и красных обозревателя рядом. Синий вид можно перетащить.Swift: перетащите UIView между двумя другими UIViews

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

Я могу перетащить синий вид, но не уверен, как «Обнаружить, когда синий вид находится между зеленым и красным, а затем отбросить его на место». Помощь в быстром будет высоко оценена.

+0

Посмотрите на UIDynamics – Woodstock

+0

@Woodstock, я смотрю в UIDynamics, но не уверен, что именно использовать оттуда – Kashif

+0

проверить это http://www.bignerdranch.com/blog/uidynamics-in-swift/ – Woodstock

ответ

0

Я смог решить это (спасибо указателю @rdelmar). 1) Используйте 'CGRectIntersectsRec' для проверки, когда синий вид пересекается как с красным, так и с зеленым. 2) Переместите красный вправо и зеленый влево на половину ширины. 3) Скопируйте размер синего вида, чтобы создать невидимый новый вид и поместите его между красным и зеленым. 4) проверьте, когда синий вид НЕ пересекается с новым невидимым видом, затем удалите невидимый вид и верните красный и зеленый цвета.

+0

Можете ли вы поделиться своим кодом –

Смежные вопросы