0

私は、理解するのがそれほど難しくないはずの問題に出くわしました。しかし、多くの試行錯誤の後、私はまだ解決策を見つけていません。CGRectMake(20, 20, 40, 40) で作成された CALayer があります。frame.size.height と frame.size.width に特定の値を追加して、このレイヤーを上方向にスケーリングしたいのですが、これを行うと、レイヤーが下方向にスケーリングされます。レイヤーを180度回転させてアンカーポイントを変更しようとしましたが、うまくいきませんでした。これについて何か意見をいただければ幸いです。

ありがとう。

私が欲しいものと私が得るもの:

私が欲しいもの 私が得るもの

4

1 に答える 1

0

高さを変更すると同時に、レイヤーの y 原点を変更するだけです。コードがどのように見えるかは正確にはわかりませんが、古いフレームを使用して、幅と高さに一定の変更を適用している場合は、次のようになります。

CGRect newFrame = oldFrame;
newFrame.size.width += kWidthChange;
newFrame.size.height += kHeightChange;
_myLayer.frame = newFrame;

次に、次のようにもう 1 行必要です。

newFrame.origin.y -= kHeightChange;

レイヤーのフレームを再割り当てする前に。

ここに画像の説明を入力

于 2013-09-13T06:31:45.250 に答える