3

アプリの UIView に CALayer を追加しました。

    CATransition *animation = [CATransition animation];
    [animation setDelegate:self];
    [animation setDuration:0.35];
    [animation setTimingFunction:UIViewAnimationCurveEaseInOut];
        animation.type = @"pageCurl";
        animation.fillMode = kCAFillModeForwards;
        animation.endProgress = 0.58;
    [animation setRemovedOnCompletion:NO];
    [[self.view layer] addAnimation:animation forKey:@"pageCurlAnimation"];

これで、ユーザーがデバイスを回転させたときに、レイヤーは常に画面上の同じ位置に留まります (ホームスクリーン ボタンに沿って)。アニメーション/レイヤーを回転させることはできますか? 私は試した

self.view.layer.transform = CGAffineTransformMakeRotation (angle);

しかし、このコードは、設定したアニメーション/レイヤーではなく、UIView を回転させるだけです。

4

1 に答える 1

4

エラーは、CALayer の変換プロパティの型が CATransform3D であり、CGAffineTransform を指定しているためです。CATransform3D CATransform3DMakeRotation (CGFloat 角度、CGFloat x、CGFloat y、CGFloat z) を使用します。代わりは。

于 2010-04-01T07:39:49.953 に答える