2011-02-12 72 views
2

我有一個CAShapeLayer,它從路徑中獲取他的形狀。這會創建一個可以被操作的圖層對象,如移動和旋轉。 我的問題是,我需要圖層對象組成多個路徑。例如想象美國地圖;有主要形狀和阿拉斯加。兩種形狀都沒有連接,但它們是相同的實體,我需要它們成爲單個CAShapeLayer中的單個對象,以便當我將該圖層同時移動到美國和阿拉斯加時。從多個CG路徑構造CAShapeLayer

UIBezierPath* ahPath = [self mydPath];  

    CAShapeLayer *shapeLayer = [CAShapeLayer layer]; 

    shapeLayer.path = ahPath.CGPath; 

    ... 

    [self.layer addSublayer:shapeLayer]; 
+0

嗨alex。我面臨同樣的問題。我有另一個CAShapeLayer中包含的CAShapeLayers。你能否想出如何在這個上實現移動功能。 – Harsh 2012-02-23 06:08:49

回答

2

在你的描述我會做代表美國和代表國家的獨立CAShapeLayer一個CAShapeLayer的情況下,則狀態層添加到美國層。移動美國圖層會自動移動狀態圖層。好處是你可以以不同的方式給美國和美國上色。

+0

工作很好!謝謝! – alex 2011-02-12 10:42:30

0

另外請注意,CGPath可以包含多個子路徑,所以一個CGPath可以包含美國和阿拉斯加。在CGPath Reference檢查概述。