我想在UIView中放置几个动态绘制的多边形,并使每个这样的多边形都可拖动。我应该将每个动态绘制的多边形放在子视图中并将其添加到UIView(这似乎是不可能的,因为一个UIView只能显示一个子视图)或者我应该在不同的CALayer中绘制每个多边形并将触摸事件级联到每个层? / p>
答案 0 :(得分:1)
我认为你的假设是错误的。 UIView当然可以包含并显示多个子视图。 (这就是为什么子视图是NSArray的原因 - 因为它们可能有很多。)所以是的,你应该为每个多边形创建一个新的UIView,并将它们作为子视图添加到主视图中。
如何绘制多个可拖动的多边形?如果您已注册为iOS开发人员,则可以访问Apple开发人员资源并查找WWDC2011会话视频。在WWDC2001,Session 118,“充分利用IOS上的多点触控”中,Ken Kocienda演示了一个使用手势识别器来感知触摸的应用程序。我不认为应用程序的代码可用,但他会详细讨论。
答案 1 :(得分:0)
这取决于您的多边形数量以及它们的动态程度。如果你的数量很多,拥有数百个UIViews将会很昂贵;在这种情况下,你最好使用CALayers并手动跟踪位置。如果你只有一些多边形,那么不要让你的生活复杂化并去寻找UIViews。