在Objective-C中在屏幕的顶部和底部添加模糊遮罩

San*_*tix 12 gradient mask objective-c uiimage ios

我需要像这样在屏幕的顶部和底部添加遮罩.

我怎样才能做到这一点? 在此输入图像描述

Dan*_*avo 1

我可以想一个办法来达到这个效果。但你需要的不是模糊蒙版,你需要使用剪贴蒙版。

1-呈现一个模态视图控制器,其视图包含后面的 UIVisualEffectView 和前面的滚动视图/表视图/集合视图,该视图与顶部和底部偏移 40px(或您想要的任意距离)。2-使用根据任务定制的黑白图像向滚动视图添加蒙版,您可以使用以下代码添加蒙版:

var maskImage = UIImage(name: "yourMask")
var maskLayer = CALayer()
maskLayer.frame = scrollView.bounds()
maskLayer.contents = maskImage.CGImage
scrollview.layer.mask = maskLayer
Run Code Online (Sandbox Code Playgroud)

3- 或者,您也可以使用 CAGradientLayer 来实现相同的效果(这对于缩放也效果更好)。堆栈溢出上有很多关于如何创建渐变层的解决方案,例如:CreategradientimageprogrammaticallyiniOS

话虽如此,我不明白为什么你的问题被否决。我认为这是一个非常好的问题。

希望这可以帮助!