我正在绘制一系列UIBezierPath,它们都有不同的大小和位置。我想将每个形状缩放到特定尺寸并将其移动到UIView
上的特定位置。我正在与CGAffineTransformation
工作。它很快变得混乱,因为位置和大小不适用于所有形状。动态缩放和平移形状
有没有什么办法可以将UIBezierPath
缩放到一个特定的尺寸,并将它翻译(移动)到一个可以适用于大多数形状的特定位置?也许有一种方法可以设置形状的大小和位置,而无需使用我不知道的转换?我绘制的形状在尺寸上都非常不同,有些边缘锯齿状。
这是我到目前为止与我的AffineTransformations做的。
CGAffineTransform scale = CGAffineTransformMakeScale(2.0f,2.0f);
[path applyTransform:scale];
CGAffineTransform move = CGAffineTransformMakeTranslation(-10, -10);
[path applyTransform:move];
凡path
是UIBezierPath
。
这是正确的吗?我使用的值(-10,2.0f)仅仅是示例。
我在原文中提到我目前正在使用AffineTransformations,并且他们工作得不好。如果你相信这是我应该做的,你能否提供一个更好的解释,我应该如何应用这个转变? – tentmaking 2013-05-13 22:30:25
请注意,您在回答您的问题后添加了代码。该代码应该是正确的,那么如果它不起作用,你在另一部分代码中做错了。如果仍然存在一些不需要的行为,请显示完整的代码。 – 2013-05-14 11:53:27
我在回答问题后添加了代码,但我最初提到我使用CGAffineTransformations。无论哪种方式,我找到了一个解决方案,并会尽快发布。 – tentmaking 2013-05-14 21:46:38