У меня есть карта. На карте я хотел бы нарисовать маленький, размытый круг. Я реализовал что-то вроде этого:
UIVisualEffect *visualEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
self.visualEffectView = [[UIVisualEffectView alloc] initWithEffect:visualEffect];
[self addSubview:self.visualEffectView];
а затем в layoutSubviews
:
[self.visualEffectView setFrame:CGRectMake(0.f, 0.f, 20.f, 20.f];
Теперь проблема заключается в том, чтобы сделать этот обзор круглым. Я пробовал:
[self.visualEffectView.layer setCornerRadius:10.f];
Однако ничего не происходит. Другая попытка заключалась в (на основе вопроса SOF):
CAShapeLayer *mask = [CAShapeLayer layer];
mask.path = [UIBezierPath bezierPathWithOvalInRect:self.visualEffectView.bounds].CGPath;
self.visualEffectView.layer.mask = mask;
Но в этом случае visualEffectView
круглый, но не размывается:/. Есть ли способ заставить его работать?
Кстати: я пробовал FXBlurView
, однако он работает очень медленно, я не могу принять приложение для загрузки только карты + размытие в течение ~ 1 минуты на iPhone 5.