我在一个视图上显示了15张图像。我需要根据用户的声音来缩放图像(声音越大,图像需要缩放的越大)。目前,我在AVAudioRecorder上使用averagePowerForChannel,并经常对音频进行采样,以适当地缩放所有图像。我用来进行缩放的代码看起来像这样:
- (void)scaleImages:(float)scalingFactor {
for (UIView *imageHolder in self.imageView.subviews) {
UIView *image = [imageHolder.subviews objectAtIndex:0];
image.transform = CGAffineTransformMakeScale(scalingFactor, scalingFactor);
image.hidden = scalingFactor <= 0.0f;
}
}
当我有一张图片时,这种方法很好,但是当我为所有15张图片执行此操作时,它变得非常迟钝且无法响应。我尝试了几种不同的选择 - 不经常采样,对采样输出进行标准化等等,但似乎没有任何区别。
我如何优化它?