我正在创建一个UIImageView子类来显示音频波形。方法是加载文件,进行数学运算,保存PNG文件,然后self.image = thePNG
。关于这一点的好处是,在调整大小或重新绘制时,UIImageView将拉伸PNG并快速拉伸。
现在如果图像扩展太多,我需要重新计算波形以避免可见的像素化。既然我们知道UIImageView does not call drawRect
,是否有一个在调整大小期间调用的方法,以便我可以决定是否需要重绘?
P.S。重新计算后,我将在计算后fading in the new image。希望这对Google Earth等用户来说是无缝的。
答案 0 :(得分:2)
这是一个解决方案:
- (void)layoutSubviews
{
[super layoutSubviews];
NSLog(@"%@", NSStringFromCGRect(self.frame));
}
与David Jeske在Is there a UIView resize event?
中指出,与此相关的是,不会为动画的每一帧调用它。其他不起作用的想法:
setFrame:(CGRect)frame
听取https://groups.google.com/forum/#!topic/ococoa/UojAu8rclwo