1

如何为图像的旋转设置锚点。

在这里,我需要将其他图像以旋转/倾斜的方式放置在第一张图像上。所以我需要为第一张图片设置一个旋转锚点

4

1 回答 1

3

在 android 上,您必须在变换矩阵上设置锚点。在 iOS 上,您必须将锚点设置为您尝试旋转的视图。

重要的未记录行为: 我已经为此苦苦挣扎了一周并发现了以下内容:如果您尝试将锚点设置为视图而不先设置它的宽度或高度,或者将它们设置为 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 回答