Swift: 在另外两个 UIView 之间拖动一个 UIView

Swift: Drag a UIView between two other UIViews

如屏幕截图所示,我有两个固定的绿色和红色并排视图。 蓝色视图可拖动。

我想要的是,当蓝色视图在绿色和红色视图之间拖动时,移动红色和绿色视图并使 space 蓝色视图被删除。如果蓝色视图被拖放到别处,它会return到它原来的位置。

我可以拖动蓝色视图,但不确定如何"Detect when the blue view is in between green and red and then drop it in place"。在 swift 中提供帮助将不胜感激。

我能够解决这个问题(感谢@rdelmar 指针)。 1) 使用 'CGRectIntersectsRec' 测试蓝色视图何时与红色和绿色相交。 2) 将红色向右移动,将绿色向左移动一半的宽度。 3) 复制蓝色视图的大小以创建一个不可见的新视图并将其放置在红色和绿色之间。 4) 测试蓝色视图何时不与新的不可见视图相交,然后移除不可见视图并移回红色和绿色。