如何在iOS上仅在具有清晰颜色的模糊视图底部获得圆角?

Posted

技术标签:

【中文标题】如何在iOS上仅在具有清晰颜色的模糊视图底部获得圆角?【英文标题】:How to get rounded corners only on bottom of the blurview with clear color on iOS? 【发布时间】:2016-08-09 02:23:03 【问题描述】:

我将模糊视图放在 UITableViewCell 中。所以单元格的背景颜色设置为清除颜色。但我也希望对特定的角进行圆角处理。

我遇到了this solution 获得圆角。

    创建一个 CAShapeLayer。 创建具有特定角和角半径的 UIBezierPath。 将其应用到 CAShapeLayer 并添加为目标视图层的蒙版。

但这仅在视图具有背景颜色时才有效。我只想用清晰的颜色将特定的角弄圆。

提前致谢。

【问题讨论】:

试试这个做角,tableView.layer.cornerRadius = 10 tableView.layer.masksToBounds = true @ChandanPrajapati 感谢您的建议。但它会绕过所有的角落。但我只希望特定的角(比如 bottomLeft 和 bottomRight)是圆角的。 关注此链接try link @ChandanPrajapati 再次感谢。我试过那个解决方案。但是当我在 UItableviewCell 上执行此操作时,我添加的模糊效果消失了。我想要那种模糊效果以及特定的圆角,比如锁定屏幕上的通知。 【参考方案1】:

试试这个

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.viewOutlet.bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10.0, 10.0)];

CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.view.bounds;
maskLayer.path  = maskPath.CGPath;
self.viewOutlet.layer.mask = maskLayer;  

【讨论】:

以上是关于如何在iOS上仅在具有清晰颜色的模糊视图底部获得圆角?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8 弹出框宽度 = 0 在 iPad 上仅在纵向模式下

如何在最新的 iOS 14 中仅在 swiftui 中舍入滚动视图的顶角

拖动底部子视图之一时平滑更新顶部子视图(iOS)

如何使 SKView 的背景颜色清晰

如何在Iphone +上仅将表格视图自定义单元格的左上角和右上角半径转角

具有淡入边缘效果的模糊视图 - iOS