使用UIImageview制作动画需要执行以下步骤
我担心内存泄漏 只要UIImageView是自动释放的对象,imageView是否会被解除分配?
答案 0 :(得分:0)
你可以试试这个: Memory leaks debugging
我希望它会有所帮助^^
答案 1 :(得分:0)
您可以确定UIImageView只要是视图层次结构的一部分就不会被释放。
此外,如果您在步骤2中分配了NSArray,则应在步骤3之后将其释放。其余部分看起来不错。
答案 2 :(得分:0)
听起来您希望在动画完成后图像视图消失。事实上,它不会。它仍将是一个子视图。我不确定动画完成后会是什么样子。
这不是内存泄漏本身,因为视图仍然有一个指向图像视图的指针,但是如果你反复重复上述内容,你的内存会越来越少。您需要在某个时刻从其父视图中删除图像视图。
您可以做的是使用[UIView animateWithDuration:animations:completion:]
创建动画。给它一个等于动画图像持续时间的持续时间。在动画块中什么都不做。在完成块中,从其超级视图中删除图像视图。
或者只是执行performSelectorAfterDelay来调用删除视图的东西。不确定是否能更好地保证与图像序列的动画同步。
答案 3 :(得分:0)
如果您只想在动画完成后从superview中删除imageview,请使用以下两行:
[UIImageView setAnimationDelegate:self];
[UIImageView setAnimationDidStopSelector:@selector(removeFromSuperview)];