我想在UITableVIew上执行收缩动画。我做了一些实验,发现当我用表格视图当前状态的图像收缩UIImageView时,动画运行得更快,而不是收缩表格视图本身。
在动画之前,我在主视图控制器中的一个方法中抓取了图像:
UIGraphicsBeginImageContext(mainTableView.bounds.size);
[resizeContainer.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();效果很好,至少是差不多。在非常罕见的情况下,我会遇到奇怪的图形故障,UIImage开始与位于它下面的工具栏重叠。
我只想确保我以正确的方式获得了图像。我正在对GraphicContexts进行必要的了解,以确保这一点。
长话短说,我的代码正确吗?
Thx
发布于 2010-12-13 16:00:19
它在iOS 4.0中消失了。所以我猜这是个bug。
发布于 2009-11-15 11:50:33
你是用什么方式让桌子动起来的?我对它的缓慢动画没有任何问题。下面是我在调整表格大小时所做的一个例子:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[mainTableView setFrame:CGRectMake(0,43,320,176)];
[UIView commitAnimations];我建议不只是截图,而是实际的动画表格,因为动画可能会开始,因为表格仍在滚动。例如,用户只是碰巧在它开始动画的时候轻弹了一下桌子,然后当你淡出你拍摄的“屏幕截图”时,你就会跳到新的状态。
https://stackoverflow.com/questions/1735108
复制相似问题