2012-09-05 22 views
0

我有一個按鈕上的多個動畫,我使用CGAffineTransformMakeTranslation來做到這一點。傳遞只有一個參數與CGAffineTransformMakeTranslation(x,y)

是否可以只使用一個參數,只有「x」或只有「y」?

我用盡了一切辦法,但不能使它工作:

button.transform = CGAffineTransformMakeTranslation(nil, 10); 

button.transform = CGAffineTransformMakeTranslation(NULL, 10); 

etc, etc... 

或使其的「X」的當前位置。如果我使用0,它會將按鈕置於原始位置。

可以做到這一點嗎?

謝謝!

回答

0

通過0.沿軸的0平移不產生變化,因爲0是加法的標識(這是翻譯的內容)。

button.transform = CGAffineTransformMakeTranslation(0, someYValue); 
+0

問題是,如果我通過零它會回到原來的位置。我在同一張圖片上有多個動畫,所以如果我只想更改x或y,它會一直將圖片帶到原始位置。 – tomDev

+0

@tomDev:我不認爲動畫就像那樣疊加。他們只是直接設置財產。 –

0

翻譯僅x方向:

CGAffineTransformMakeTranslation(x, 0.0); 

翻譯只有y方向上:

CGAffineTransformMakeTranslation(0.0, y); 
0

CGAffineTransformTranslate保留以前變換。 因此,您可以致電CGAffineTransformTranslate(myview.transform,0,y)或任何適合您的東西。

CGAffineTransform CGAffineTransformTranslate (
    CGAffineTransform t, 
    CGFloat tx, 
    CGFloat ty 
); 
相關問題