2
我正在使用-mouseDragged
方法移动一些CALayers,现在我想在它们足够接近时(或者它们只有一点点重叠时)“咬合”它们。每个图层都不是“正方形”:我正在绘制不同的多边形。与CALayers对齐
我认为一个办法做到这一点是:
- 得到层的移动的位置;
- 获取重叠图层或靠近要移动的图层的图层;
- 在(2)为真的多边形的每一边,我需要检查移动层的边和层的边之间的最大距离(与层边垂直) “接近”(当层重叠时,这是负值)。
- 相应地移动图层。
我不知道这是否是一种正确的方法。我想到的第一件事是:
- 如果我可以在多个方面“捕捉”会发生什么?
而且,即使我尝试这种方式,我也不知道如何处理(2)和(3)。
有没有更好的方法来做到这一点?