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事件?
其他的想法是行不通的:
-
覆盖
setFrame:(CGRect)frame
讨论是否有一个UIViewresize事件? -
请听https://groups.google.com/forum/#!topic/ococoa/UojAu8rclwo上的关键值观察