2010-03-18 66 views
1

我正在嘗試在屏幕上以顏色漸變的方式在屏幕上設置動畫效果。爲了簡單起見,我選擇了一個完全擴展的bar的png,將它分配給UIImageView,並且(嘗試)使用UIView動畫對其進行動畫調整大小。問題是,在圖像的「關閉」狀態下,顯示的圖像部分不是我想要的部分。圖像的排列使得從L到R發生白色到紅色的顏色漸變。右側(大約20像素)是純紅色,是條形「摺疊」時我要顯示的部分。我試圖將圖像擴展大約100像素到其全部寬度。我引用的「立即購買」按鈕,例如我的代碼,因爲它似乎相關的「iPhone SDK:UIImageView - 摺疊動畫

UIButton AppStore buy button animation

我的代碼:

[UIView beginAnimations:@"barAnimation" context:nil]; 
[UIView setAnimationDuration:0.6]; 

CGRect barFrame = bookBar.bounds; 

if (fExtendBar) 
{ 
    barFrame.origin.x -= 100; 
    barFrame.size.width += 100; 

} 
else 
{ 
    barFrame.origin.x += 100; 
    barFrame.size.width -= 100; 
} 

    bookBar.frame = barFrame; 
[UIView commitAnimations]; 

我覺得這應該是可能的,也許通過設置」 offsetOfImage 「在UIImageView中顯示,但我似乎無法使它工作,而且,我注意到,在調整圖像大小時,行爲與Interface Builder中發生的情況是一致的,然後我會再次想到將是一種以編程方式覆蓋此行爲的方式。歡迎任何建議(包括其他方法)。

謝謝, chris.o。

回答

0

我正面臨同樣問題稍微複雜一些的版本。您是否嘗試過使用CALayer並設置contentsGravity屬性?