Создание размытия в 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?