2013-07-17 3 views
1

Как установить опорную точку для поворота изображения.Установить опорную точку для вращения в титане

Здесь я должен поместить другие изображения в повернутом/наклонном виде w.r.t до первого изображения. Поэтому мне нужно установить опорную точку вращения для первого изображения.

+0

Что вы пытаетесь? Можете ли вы показать код? Вы проверили [это в документах?] (Http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.View-property-anchorPoint) –

ответ

3

На андроиде вы должны установить опорную точку в матрице преобразования. На iOS вам нужно установить точку привязки к виду, которое вы пытаетесь повернуть.

ВАЖНЫ недокументированное ПОВЕДЕНИЕ: Я боролся с этим в течение недели и выяснил следующее: При попытке установить anchorpoint на вид без предварительной установки его ширина или высоты, или устанавливая их к 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; 
Смежные вопросы