2009-11-14 128 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