0

我想在 UIView 中放置几个​​动态绘制的多边形,并使每个这样的多边形都可以拖动。我应该将每个动态绘制的多边形放在子视图中并将其添加到 UIView(这似乎是不可能的,因为一个 UIView 只能显示一个子视图)还是应该在不同的 CALayer 中绘制每个多边形并将触摸事件级联到每一层?

4

2 回答 2

1

我认为你的假设是错误的。UIView 当然可以包含并显示多个子视图。(这就是为什么 subviews 是一个 NSArray ——因为它们可以有很多。)所以是的,你应该为每个多边形创建一个新的 UIView 并将它们作为子视图添加到你的主视图中。

你如何绘制多个可拖动的多边形?如果您注册为 iOS 开发者,您可以访问 Apple 开发者资源并查找 WWDC2011 会议视频。在 WWDC2001 第 118 节“充分利用 IOS 上的多点触控”中,Ken Kocienda 演示了一个应用程序,该应用程序使用手势识别器来感知触摸。我认为该应用程序的代码不可用,但他详细讨论了它。

于 2011-08-19T14:03:37.573 回答
0

这取决于您的多边形数量以及它们的动态程度。如果它们的数量很多,那么拥有数百个 UIView 的成本会很高;在这种情况下,您最好使用 CALayers 并手动跟踪位置。如果你只有少数几个多边形,那么不要让你的生活复杂化并选择 UIViews。

于 2012-02-14T00:08:10.263 回答