Objective c 可移动视图,如七巧板

Objective c 可移动视图,如七巧板,objective-c,cocoa-touch,ipad,uiview,Objective C,Cocoa Touch,Ipad,Uiview,在我的iPad应用程序中,有一个主视图。它包含具有不同大小和不同图像的各种视图(四边形,但不是矩形) (来源:) 灰线代表帧,红线代表图像的轮廓 它有点像七巧板,但更复杂,因为四角形不是矩形 视图可以移动和旋转,但红色四边形不应相互接触,也不应相互重叠。如果已知四角形的角,那么实现这一点的最佳方法是什么?苹果公司提供了一个如何处理的示例: 基本上,每个形状都是UIView子类,您只需响应适当的触摸事件即可相应地移动和旋转它们。你的形状会稍微复杂一点,因为你的形状必须进行检查,以确保它们在移动/

在我的iPad应用程序中,有一个主视图。它包含具有不同大小和不同图像的各种视图(四边形,但不是矩形)


(来源:)

灰线代表帧,红线代表图像的轮廓

它有点像七巧板,但更复杂,因为四角形不是矩形


视图可以移动和旋转,但红色四边形不应相互接触,也不应相互重叠。如果已知四角形的角,那么实现这一点的最佳方法是什么?

苹果公司提供了一个如何处理的示例:


基本上,每个形状都是UIView子类,您只需响应适当的触摸事件即可相应地移动和旋转它们。你的形状会稍微复杂一点,因为你的形状必须进行检查,以确保它们在移动/旋转时不会与另一个形状重叠。

苹果有一个如何处理的示例:


基本上,每个形状都是UIView子类,您只需响应适当的触摸事件即可相应地移动和旋转它们。您的形状会稍微复杂一些,因为您的形状必须进行检查,以确保它们在移动/旋转时不会与另一个形状重叠。

感谢您的回答,我使用多个UIView和子视图管理它,每个视图都带有UIGestureRecognitors。用缓存覆盖pointInside函数,瓷砖现在移动得非常流畅。感谢您的回答,我使用多个UIView和子视图管理它,每个视图都带有UIGestureRecognitors。用缓存覆盖pointInside函数,瓷砖现在移动得非常平滑。