2009-11-14 123 views
3

我想在UITableVIew上執行縮小動畫。我進行了一些嘗試,發現當我使用tableview的當前狀態的圖像縮小UIImageView而不是縮小表視圖本身時,動畫運行得更快。從uiview中獲取圖像

我到動畫抓起的方法中的圖像在我的主視圖控制器之前:

UIGraphicsBeginImageContext(mainTableView.bounds.size); 

[resizeContainer.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 

UIGraphicsEndImageContext(); 

就像一個魅力,至少差不多。在非常罕見的情況下,我得到奇怪的圖形故障,UIImage開始重疊位於其下的工具欄。

我只是想確保我以正確的方式獲得圖像。我非常需要了解GraphicContexts,以確保它。

長話短說,我的代碼是否正確?

Thx

回答

0

它消失了iOS 4.0。所以我想這是一個錯誤。

0

您以何種方式爲表格製作動畫?我沒有遇到緩慢的動畫問題。這裏是什麼,我做了一個例子,當我不得不調整我的表:

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 
[mainTableView setFrame:CGRectMake(0,43,320,176)]; 
[UIView commitAnimations]; 

我之所以建議不只是採取截圖,但實際上動畫表是因爲動畫可能可能開始作爲表仍滾動。例如,用戶只是在開始動畫時碰巧彈開桌子,那麼當您淡出所拍攝的「屏幕截圖」時,您將跳到新的狀態。

+0

我正在做一個縮小(如safari中的切換標籤動畫)。我的tableCells有很多子視圖。在切換到此方法之前,動畫真的很顛簸。 – Monobono 2009-11-15 15:56:42