2011-05-31 66 views
0

我有一個UIImageView,我需要在屏幕上進行動畫製作。我通過在1秒的動畫塊中將幀調整爲0來做到這一點。如果我單獨保留內容類型(這是縮放類型之一),它會縮小爲0,但會隨着它調整到新的幀大小而縮小圖像。 我需要它只是削減底部而不是。我將內容類型更改爲左上角,導致它無法執行任何操作。
我在這裏錯過了什麼?將UIImageView從屏幕動畫化

這是動畫塊代碼。

// Change frame height. 
[UIView animateWithDuration:1.0f 
       animations:^ { 
        // Animate the frame off the screen 
        _closeImage.frame = CGRectMake(_closeImage.frame.origin.x, _closeImage.frame.origin.y, _closeImage.frame.size.width, 0); 
       } 
]; 
+0

什麼你的意思是內容類型? – 2011-05-31 13:30:14

+0

他意味着規模模式。 @btate,嘗試其他scaleModes。 – Moshe 2011-05-31 13:34:23

回答

0

您想更改scaleMode屬性。如果您希望在縮放時正確縮小,則可以將其更改爲縱橫比。否則,你可以嘗試一些其他的。

編輯:

根據您的意見,您需要設置clipsToBounds屬性。

+0

@Moshe你的意思是'contentMode'嗎? – 2011-05-31 13:43:01

+0

很可能。 – Moshe 2011-05-31 13:48:59

+0

我正在更改內容模式。如果我做的不是縮放比例,那麼幀高就根本不會改變。我目前使用左上角。 _closeImage.contentMode = UIViewContentModeTopLeft; – smokingoyster 2011-05-31 13:52:07

0

你可以嘗試使用:

// Change frame placement. 
[UIView animateWithDuration:1.0f 
       animations:^ { 
        // Animate the frame off the screen 
        _closeImage.frame = CGRectMake(_closeImage.frame.origin.x, _parentView.frame.size.height, _closeImage.frame.size.width, _closeImage.frame.size.height); 
       } 
]; 

_parentView是包含ImageView的看法......它會滑落parentView,並考慮從上海華盈取出後,如果你不使用它了...

+0

父視圖頂部有一個工具欄。我正在尋找更多的效果,就好像圖像正在滾動到工具欄中一樣。所以我只需要框架動畫到0並剪出任何不適合的東西。 – smokingoyster 2011-05-31 14:32:55

+0

因此,將工具欄設置爲位於圖像視圖頂部並將圖像原點更改爲: CGRectMake(_closeImage.frame.origin.x,-_closeImage.frame.size.height,_closeImage.frame.size.width,_closeImage。 frame.size.height); 爲什麼縮小圖像時,您可以將其移出屏幕... – kviksilver 2011-05-31 15:04:27