【问题标题】:Blur UiImageView at top and bottom of the frame在框架的顶部和底部模糊 UiImageView
【发布时间】:2019-06-03 12:34:05
【问题描述】:

我的视图控制器上有一个图像,而在图像视图顶部我有一些标签,但由于标签文本可见性,我需要模糊 UIImageView 忽略器的顶部和底部以清楚地显示文本。

我附上了我的设计忽略者的截图,以获得一个清晰的想法。

请参考图片以获得正确的输出。

【问题讨论】:

  • 您有任何这样做的工作示例吗?我猜“开箱即用”模糊使用像素both 垂直 水平。你可以很容易地建立自己的CIFilter(或者更准确地说,CIKernel 来垂直做事。但是你已经标记了这个 [uiblureffect] 我很确定它不起作用那样。最后,您是在说 blur 还是 darken 以更突出地显示白色文本?这是有区别的 - 如果我记得,这里的其他问答可以解决最佳的这样做。
  • 请告诉我创建这种图像视图的更好解决方案是什么。

标签: swift iphone ios11 uiblureffect uib


【解决方案1】:

将此代码添加到您的UIImageView

let gradientLayer = CAGradientLayer()
gradientLayer.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: CGSize(width: self.imgView.frame.size.width, height: self.imgView.frame.size.height*0.3))
gradientLayer.colors = [UIColor.black.withAlphaComponent(0.7).cgColor, UIColor.clear.cgColor]
self.imgView.layer.addSublayer(gradientLayer)

let gradientLayer2 = CAGradientLayer()
gradientLayer2.frame = CGRect(origin: CGPoint(x: 0, y: (self.imgView.frame.size.height-self.imgView.frame.size.height*0.3)), size: CGSize(width: self.imgView.frame.size.width, height: self.imgView.frame.size.height*0.3))
gradientLayer2.colors = [UIColor.clear.cgColor, UIColor.black.withAlphaComponent(0.7).cgColor]
self.imgView.layer.addSublayer(gradientLayer2)

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 2015-05-02
    • 2011-09-27
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2022-12-13
    相关资源
    最近更新 更多