У меня есть 1custom UIView
в моем представлении по умолчанию в viewcontroller.
Моя потребность в том, что при нажатии кнопки мой основной вид по умолчанию переходит в размытие, и пользовательский вид остается неизменным.
И снова нажимается кнопка, после чего размытый вид возвращается к нормальному эффекту.
Я использовал UIBlurEffect
и UIVisualEffectView
для создания размытия.
Но проблема в том, что весь взгляд размылся.делает размытие uiview, которое содержит пользовательский вид, который я хочу оставить незатронутым
делает размытие uiview, которое содержит пользовательский вид, который я хочу оставить незатронутым
ответ
Я не пробовал мнение эффектов еще, но они выглядят, как они участвуют в качестве хороших граждан в иерархии представлений. Если это так, то это должно работать ...
// 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
Попробуйте с ними ссылкой: How to apply blur to a UIView?
Я использовал тот же код. Я хочу сделать размытие по умолчанию. Но проблема заключается в том, что мой пользовательский вид находится на представлении по умолчанию. Поэтому, если я попытаюсь размыть размытие основного вида, мой пользовательский вид также становится размытым, потому что он лежит на главном представлении. Есть ли что-то, что удаляет UIVisualEffectView из моего пользовательского представления? UIVisualEffectVIew должен подчинить основному виду –
Проверьте ссылку. –
Thks и работает. –