2012-11-01 33 views
3

我有一個包含其他自定義繪製uiview裏面的uiview。現在我想要的是,當用戶點擊這個父視圖時,它會用動畫擴展到一個新定義的框架。 我使用動畫塊取得了一些成功。問題是展開的視圖只是未展開的uiview的縮放版本,因此它有點像素化。通過在動畫塊之後調用子視圖setneedsdisplay(),展開視圖的最終結果是銳利的(即,不是像素化的)。但在轉換中它仍然像素化。如何使用動畫縮放uiview和其中的所有內容(其他自定義繪製的uiviews)?

有人可以建議一個更好的方法來做到這一點?

回答

0

這是一個老問題,但我給它一個鏡頭反正...

通過調用子動畫塊 現在擴大的觀點是最終的結果後視圖setneedsdisplay()尖銳(即不是 像素化)...有人可以建議一個更好的方法來做到這一點?

你可以在Xcode 4.2中做到這一點的一種方法是插入一個包含更大版本視圖圖片的圖像視圖。您可以通過rendering the view in an image context創建該圖片。當然,如果動畫只是通過縮放來擴展視圖,那麼這種方法將效果最佳;如果您在動畫期間移動子視圖,則靜態圖像顯然不會有幫助。

既然Xcode 4.2在很大程度上是一個遙遠的記憶,而且設備的功率更大,那麼在擴展期間使用自動佈局約束來管理子視圖的大小和位置應該會產生相當不錯的結果。

相關問題