通常我使用UIToolBar来伪造实时模糊效果,这对我来说一直很好。但是有一个地方我需要一个圆角工具栏,但是,每当我设置cornerRadius和clipsToBounds时,半透明(模糊)效果就消失了,我的工具栏变得透明了。

这是我的代码:

UIToolbar *blurView = [[UIToolbar alloc] initWithFrame:self.bounds];
blurView.barStyle = UIBarStyleBlack;
blurView.layer.cornerRadius = self.height / 2;
blurView.clipsToBounds = YES;
[self insertSubview:blurView atIndex:0];


这是当clipsToBounds = YES时的屏幕截图,圆角变圆了,但是模糊消失了。



但是,如果我将clipsToBounds注释掉,则模糊效果又回来了,但是角落不再圆了。



更奇怪的是,此问题仅发生在iOS7.x中,所有代码在iOS8.x中都能正常使用,并且代码完全相同。

以防万一,如果您想知道,这是它在iOS8.x上的外观以及在iOS7.x上的外观



我一直在Stackoverflow和Google上搜索,找不到任何线索。请帮忙!

最佳答案

尝试blurView.layer.cornerRadius = self.height / 2 - 0.5;

07-24 21:24