Ich habe eine Karte. Auf der Karte möchte ich einen kleinen unscharfen Kreis zeichnen. Ich habe so etwas wie dies umgesetzt:Runde UIVisualEffectView
UIVisualEffect *visualEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
self.visualEffectView = [[UIVisualEffectView alloc] initWithEffect:visualEffect];
[self addSubview:self.visualEffectView];
und dann in layoutSubviews
:
[self.visualEffectView setFrame:CGRectMake(0.f, 0.f, 20.f, 20.f];
Jetzt ist das Problem dieser Ansicht Runde macht. Ich habe es versucht:
[self.visualEffectView.layer setCornerRadius:10.f];
Nichts passiert jedoch. Ein weiterer Versuch wurde mit (gründend auf SOF question):
CAShapeLayer *mask = [CAShapeLayer layer];
mask.path = [UIBezierPath bezierPathWithOvalInRect:self.visualEffectView.bounds].CGPath;
self.visualEffectView.layer.mask = mask;
Aber in diesem Fall ist die visualEffectView
ist rund, aber nicht verwischen: /. Gibt es eine Möglichkeit, es zum Laufen zu bringen?
BTW: Ich habe FXBlurView
versucht, aber es funktioniert sehr langsam, ich kann nicht meine app akzeptiere nur Karte + blur für ~ 1 Minute auf dem iPhone 5.en
Vielleicht möchten Sie diesen Blog-Beitrag lesen, um Kanten besser aussehen zu lassen: https://medium.com/@imho_ios/avoid-artifacts-on-uiblureffect-edges-c30e737c21fb#.sz26mo1sv – Jay