1

画像の回転にアンカーポイントを設定するにはどうすればよいですか?

ここでは、他の画像を最初の画像に対して回転/傾斜させて配置する必要があります。したがって、最初の画像の回転のアンカーポイントを設定する必要があります

4

1 に答える 1

3

Android では、変換行列にアンカー ポイントを設定する必要があります。iOS では、回転しようとしているビューにアンカー ポイントを設定する必要があります。

文書化されていない重要な動作: 私はこれに 1 週​​間苦労しており、次のことがわかりました: 最初に幅または高さを設定せずにアンカーポイントをビューに設定しようとすると、アンカーポイントは Ti.UI.SIZE に設定されます。常に 0,0 です。

動作するはずのこのコード スニペットを試すことができます。ヘブンはそれをテストしましたが、アイデアを得ることができます。このコードは、両方のプラットフォームで機能するはずです。

var anchor_x = 0.5;
var anchor_y = 0.5;

var view = Ti.UI.createView({
    // ALWAYS SET THE HEIGHT AND WIDTH!!!!
    // IF NOT ANCHOR WILL BE CALCULATED FROM WIDTH = 0 AND HEIGHT = 0
    width: Ti.UI.FILL
    height: Ti.UI.FILL
});

// It it's ios (iPad or iPhone)
if (Ti.Platform.platform == 'iPhone OS')
    view.anchorPoint = {x: anchor_x, y: anchor_y};

var transform;
// If it's android, create the 2DMatrix with the desired anchorpoint.
if (Ti.Platform.platform == 'android')
    transform = Ti.UI.create2DMatrix({anchorPoint: { x: anchor_x, y: anchor_y }});
else
    transform = Ti.UI.create2DMatrix();

// Apply rotation
transform = transform.rotate(90);

// Apply transformation to your view.
view.transform = transform;
于 2014-05-11T21:26:21.823 に答える