2

私はパスから彼の形を取る CAShapeLayer を持っています。これにより、移動や回転などの操作が可能なレイヤー オブジェクトが作成されます。私の問題は、レイヤーオブジェクトを複数のパスで構成する必要があることです。たとえば、米国の地図を想像してください。メインシェイプとアラスカがあります。両方の形状は接続されていませんが、同じエンティティであり、レイヤーを移動すると米国とアラスカの両方が一緒に移動するように、単一の CAShapeLayer 内の単一のオブジェクトである必要があります。

    UIBezierPath*    ahPath = [self mydPath];     

    CAShapeLayer  *shapeLayer = [CAShapeLayer layer];

    shapeLayer.path = ahPath.CGPath;

    ...

    [self.layer addSublayer:shapeLayer];
4

2 に答える 2

2

あなたが説明した場合、私は米国を表す CAShapeLayer と州を表す別の CAShapeLayer を作成し、州レイヤーを米国レイヤーに追加します。米国レイヤーを移動すると、州レイヤーも自動的に移動します。利点は、米国と州を異なる色にできることです。

于 2011-02-12T10:34:21.457 に答える
0

また、にCGPathは複数のサブパスを含めるCGPathことができるため、1つには米国とアラスカを含めることができることに注意してください。CGPathリファレンスの概要を確認してください。 

于 2011-06-30T06:28:16.983 に答える