好的,我对 ios7 有一个严重的问题。我有一个用户拖动控件的代码,当他拖动时,界面会更新为处理后的图像。这在 iOS 6.1 之前非常快,现在非常慢。
这是我的代码的工作原理:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
//get initial position
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
//calculates new position
applyEffects();
- (void)applyEffects {
UIGraphicsBeginImageContext();
//CGContextTranslateCTM, CGContextScaleCTM, CGContextDrawImage and stuff like that
UIImage *blendedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
preview.image = blendedImage; //preview is a UIImageView
现在的事情是,在记录之后,我意识到每次我在屏幕上移动手指时都会调用 applyEffects,但是视图更新的次数很少,我认为这就是它看起来如此缓慢的原因。
所以,关于为什么“preview.image = blendedImage;”的任何想法 不再更新视图了吗?我错过了什么吗?
同样,这只发生在 iOS 7 上。
先感谢您!