UIImageView子类需要处理resize

我正在创build一个UIImageView子类来显示audio波形。 该方法是加载文件,做math,保存一个PNG文件,然后self.image = thePNG 。 关于这个好的部分是在resize或重新绘制UIImageView将拉伸PNG和迅速拉伸。

现在,如果图像扩展得太多,我需要重新计算波形以避免可见的像素化。 既然我们知道UIImageView不会调用drawRect ,那么在resize的时候是否会调用一个方法,以便我可以决定是否需要重画?

PS在重新计算时,我将在计算后在新图像中消失 。 希望这对Google Earth等用户来说是无缝的。

这是一个解决scheme:

 - (void)layoutSubviews { [super layoutSubviews]; NSLog(@"%@", NSStringFromCGRect(self.frame)); } 

与此息息相关的是,它不被称为animation的每个帧,正如David Jeske指出的那样: 是否有UIViewresize事件?


其他的想法是行不通的: