从uiview获取图像

时间:2009-11-14 18:18:29

标签: iphone image uiview

我想在UITableVIew上执行缩小动画。我进行了一些实验,发现当我使用tableview当前状态的图像缩小UIImageView而不是缩小表视图本身时,动画运行得更快。

我在动画之前在我的主viewcontroller中的方法中抓取了图像:

UIGraphicsBeginImageContext(mainTableView.bounds.size);

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

UIGraphicsEndImageContext();

像魅力一样,至少差不多。在非常罕见的情况下,我会得到奇怪的图形故障,其中UIImage开始与位于其下方的工具栏重叠。

我只想确保以正确的方式获取图像。我对GraphicContexts有必要的理解以确定它。

简而言之,我的代码是否正确?

THX

2 个答案:

答案 0 :(得分:0)

你以什么方式为桌子设置动画?我没有遇到过慢慢动画的问题。这是我在调整表格大小时所做的一个例子:

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

我建议不仅仅是截取屏幕截图而是实际动画表格的原因是因为动画可能会在桌子仍在滚动时启动。例如,当用户开始制作动画时,用户恰好轻弹了桌子,然后当您淡出拍摄的“屏幕截图”时,您将跳转到新状态。

答案 1 :(得分:0)

iOS 4.0已经消失了。所以我猜这是一个错误。