Создание размытия в uiview, которое содержит пользовательский вид, который я хочу оставить незапятнанным

У меня есть 1 обычай UIView в моем представлении по умолчанию в viewcontroller.
Мне нужно, чтобы при нажатии кнопки мой основной вид по умолчанию становился размытым, а пользовательский вид оставался неизменным.
И кнопка нажимается снова, вид размытого возвращается к нормальному эффекту.
Я использовал UIBlurEffect а также UIVisualEffectView для размытия.
Но проблема в том, что весь взгляд размыли.

2 ответа

Решение

Я еще не пробовал представления эффектов, но они выглядят так, как будто они участвуют в качестве хороших граждан в иерархии представлений. Если это правда, то это должно работать...

// assume aView is the view you want blurred, and
// aSubview is the view you want to remain unblurred 

[aSubview removeFromSuperview];
// apply the effect view to aView
[aView addSubview:aSubview];

Примените его к вашему виду, только если вы хотите, чтобы он был размытым. Попытайся:

UIVisualEffect *MyblurEffect;
MyblurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];

UIVisualEffectView *visualEffectView;
visualEffectView = [[UIVisualEffectView alloc] initWithEffect:MyblurEffect];

visualEffectView.frame = MyVIEW.bounds;
[MyVIEW addSubview:visualEffectView]; //MyVIEW-> your view

Попробуйте по этой ссылке: Как применить размытие к UIView?

Другие вопросы по тегам