我有 UITableView 和 10 个大图像,比如 Instagram,我对这些图像有一些模糊视图。我像这样添加我的视觉效果 UITableViewCell;
_blurButtonEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
_visualButtonEffectView = [[UIVisualEffectView alloc] initWithEffect:_blurButtonEffect];
_visualButtonEffectView.layer.cornerRadius = 10.0f;
_visualEmojiEffectView = [[UIVisualEffectView alloc] initWithEffect:_blurButtonEffect];
_visualEmojiEffectView.layer.cornerRadius = 24.0f;
_visualButtonEffectView.layer.masksToBounds = YES;
_visualEmojiEffectView.layer.masksToBounds = YES;
_visualButtonEffectView.frame = CGRectMake(20.0f, _button.frame.origin.y + 7.0f, 48.0f, 48.0f);
_visualEmojiEffectView.frame = CGRectMake(_emoji.frame.origin.x - 4.0f, _button.frame.origin.y + 22.0f, ([UIScreen mainScreen].bounds.size.width/2) - 25.0f, 30.0f);
如果按钮标题为空,我会显示 _visualEmojiEffectView 并隐藏 _visualButtonEffectView。否则总是显示 _visualButtonEffectView。当我滚动我的 UITableView 时,性能是完美的,但这种模糊效果显示得很烦人,它们似乎随着每次滚动移动和触摸而闪烁。我可以用这个在单元格中阻止它;
self.layer.shouldRasterize = YES;
self.layer.rasterizationScale = [UIScreen mainScreen].scale;
如果我像这样栅格化我的单元格,模糊效果完美,但即使在 iPhone 6 上滚动性能也很糟糕。使用 UITableViewCell 配置 UIBlurEffectView 的正确方法是什么?