正确使用setNeedsDisplayInRect:方法进行动画制作

时间:2011-11-28 09:49:45

标签: ios xcode view setneedsdisplay setneedsdisplayinrect

我有一些视图控制器,它使用我自己的视图类和XIB接口,因此视图从编码器初始化。在该视图控制器中,当我移动滑块时,它重绘矩形,初始状态矩形在全屏上,当我向左移动滑块时,矩形的大小按比例变小(从全屏到10x14连续4像素)间隔)。 “滑块确实改变了一个值”调用了一些方法,即设置新的矩形大小结束发送“setNeedsDisplay”方法。如果我改为“setNeedsDisplayInRect:”方法,它不会更新我在屏幕上需要的所有东西,还有一些工件。但是通过调试它可以像我想要的那样更新。试图发送不同的矩形进行更新,如:

redrawRect=CGRectUnion(oldRect, newRect);
[cView setNeedsDisplayInRect:redrawRect];

和其他一些人,同样的故事。我的问题是,我需要在“setNeedsDisplayInRect:”中发送哪个矩形?

第二个问题,我如何加速/优化所有故事,以获得更流畅的动画和更低的成本?

1 个答案:

答案 0 :(得分:0)

已经解决了问题1.“setNeedsDisplayInRect:”方法使用的是点数,而不是像我想象的像素。