2016-10-16 3 views
0

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

ответ

1

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

// 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]; 
+0

Thks и работает. –

1

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

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?

+0

Я использовал тот же код. Я хочу сделать размытие по умолчанию. Но проблема заключается в том, что мой пользовательский вид находится на представлении по умолчанию. Поэтому, если я попытаюсь размыть размытие основного вида, мой пользовательский вид также становится размытым, потому что он лежит на главном представлении. Есть ли что-то, что удаляет UIVisualEffectView из моего пользовательского представления? UIVisualEffectVIew должен подчинить основному виду –

+0

Проверьте ссылку. –

Смежные вопросы