只是想添加一个变暗层或通过 Swift 使 UIImageView 变暗

Inv*_*ain 1 ios swift

人们已经知道这看起来很简单,但 Stackoverflow 没有给我答案。基本上我想让图像变暗,就像下面北京古建筑的背景图像一样:

在此输入图像描述

使其变暗,以便其上的标签对比更加明显。

我尝试添加一个图层(Stackoverflow 的答案之一)或添加tintColor,但它们都不起作用,有没有任何方法可以真正起作用?感谢你们。

我使用的是 iOS 13 和 swift 5.1

小智 5

将此UIView扩展添加到您的项目中

extension UIView {
func addoverlay(color: UIColor = .black,alpha : CGFloat = 0.6) {
    let overlay = UIView()
    overlay.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    overlay.frame = bounds
    overlay.backgroundColor = color
    overlay.alpha = alpha
    addSubview(overlay)
    }
    //This function will add a layer on any `UIView` to make that `UIView` look darkened
}
Run Code Online (Sandbox Code Playgroud)

然后像任何一样使用它UIView(根据你的情况yourImageView

yourImageView.addoverlay()
Run Code Online (Sandbox Code Playgroud)

或者您可以指定自己的叠加颜色和 alpha 值

yourImageView.addoverlay(color: .blue, alpha: 0.5)
Run Code Online (Sandbox Code Playgroud)