私は地図を持っています。地図上に、ぼやけた小さな円を描きたいと思います。私はこのようなものを実装しました:
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
、動作が非常に遅く、iPhone 5 でマップ + ブラーのみを 1 分間ロードするアプリを受け入れることができません。