Проблема производительности с UIVisualEffectView в UITableViewCell

У меня есть UITableView с 10 большими изображениями, такими как Instagram, и у меня есть некоторые blurview на этих изображениях. Я добавляю свои визуальные эффекты 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); 

Если название кнопки равно null, я показываю _visualEmojiEffectView и скрываю _visualButtonEffectView. В противном случае всегда отображается _visualButtonEffectView. Пока я прокручиваю свой UITableView, производительность отличная, но эти эффекты размытия выглядят настолько раздражающими, они кажутся мигающими с каждым движением прокрутки и касаниями. Я могу заблокировать это с помощью этой ячейки;

 self.layer.shouldRasterize = YES; self.layer.rasterizationScale = [UIScreen mainScreen].scale; 

Если я растеризую свою ячейку, эффект размытия работает идеально, но прокрутка производительности ужасна даже на iPhone 6. Каков правильный способ настройки UIBlurEffectView с помощью UITableViewCell?

Я знаю, что слишком поздно отвечать, но я надеюсь, что это поможет кому-то. Вы можете дать белый цвет фона визуальному эффекту с очень низкой альфой. Что-то вроде этого:

 [_visualButtonEffectView setBackgroundColor:[UIColor colorWithWhite:1.0 alpha:0.2]]; 

Вы также можете попробовать использовать UIToolbar вместо визуального эффекта. Это не дает точно такого же эффекта, но все равно будет достаточно хорошим.

  • Создание прозрачного отверстия в представлении UIVisualEffect
  • UIVisualEffectView с слоем маски
  • Размытие текста с помощью ячейки UICOllectionview
  • Как сделать прозрачный разрез на UIVisualEffectView?
  • UIBlurEffect не размывается на устройстве, а работает в симуляторе
  • используйте UIVisualEffectView, чтобы создать размытие, исправить на симуляторе, но не на iphone & ipad
  • iOS 10 Blur Effects Известные и регулярные неработающие
  • Меньше размытия с помощью «Визуального эффекта с размытием»?
  • UIBlurEffect в пользовательской модальной презентации
  • Есть ли способ установить UIBlurEffect черно-белый в Swift?
  • iOS 8 UIVisualEffect View с UIBlurEffect становится непрозрачным
  • Давайте будем гением компьютера.