iOS - 设置ImageView背景颜色和蒙版

时间:2017-07-30 18:28:38

标签: ios swift swift3 uiimageview

如何为图标设置ImageView的背景颜色并让它掩盖到边界?那么图像的内部透明部分就是背景颜色?

示例:在此twitter图标中,如何将图标的内部白色(透明)部分设置为不同的颜色?

编辑:如果图片不是圆形怎么办?但任何形状。

enter image description here

2 个答案:

答案 0 :(得分:0)

您必须执行以下步骤

    imageView.image = UIImage(named: "yourImageName")?.withRenderingMode(.alwaysOriginal)
    imageView.layer.cornerRadius = 14 //number of your choice
    imageView.layer.masksToBounds = true
    imageView.tintColor = .black

答案 1 :(得分:0)

imageView.backgroundColor = .blue //Sets the background color
imageView.layer.cornerRadius = imageView.width/2   //Crops the image to be a circle
imageView.layer.masksToBounds = true //Sets the mask to bounds

如果您想要自定义形状,可以执行以下操作:

  • 创建两个imageViews(彼此之上)
  • 第一个imageView照常使用
  • 第二个imageView用作背景形状

前景中的代码

firstImageView.backgroundColor = .clear

第二个imageView(在后台)

secondImageView.image = UIImage(named: "yourImage").withRenderingMode(.alwaysTemplate)
secondImageView.tintColor = yourBackgroundColor
secondImageView.backgroundColor = .clear