Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的应用程序中,用户可以从一堆 CALayer 中拖动顶部的 CALayer。
当用户停止拖动时,CALayer 应该返回到其在其他 CALayer 之上的原始位置。除非 CALayer(拖动后)不再与其他 CALayer 重叠,在这种情况下,它应该在其他 CALayer 下方移动。
现在,如何检测两个 CALayer 是否重叠?
CALayer 的 frame 属性是一个 CGRect。幸运的是,CGGeometry 有以下方法:
CGRectIntersectsRect
你会这样使用它:
if (CGRectIntersectsRect(myLayer1.frame,myLayer2.frame)) { //code }