У меня есть UIViewController с цветом фона, красным цветом self.view
. Я хочу разместить UIImageView в центре экрана. UIImageView показывает весь экран, а его цвет фона должен быть синим. В центре должно быть изображение 100 x 100, когда оно действует как маска. Изображение представляет собой png с прозрачными и непрозрачными частями. Используя это изображение в качестве маски, фон должен быть видимым через непрозрачные части этого png. Он должен выглядеть следующим образом:
Здесь приведена демонстрация того, как это выглядит в приложении.
Вот что я сделал:
self.view.backgroundColor = UIColor.redColor()
let imageView = UIImageView(frame: self.view.frame)
imageView.backgroundColor = UIColor.blueColor()
let maskImage: UIImage = UIImage(named: "twitterIcon")!
mask = CALayer()
mask?.contents = maskImage.CGImage
mask?.contentsGravity = kCAGravityResizeAspect
mask?.bounds = CGRect(x: 0, y: 0, width: 100, height: 100)
mask?.anchorPoint = CGPoint(x: 0.5, y: 0.5)
mask?.position = CGPoint(x: imageView.frame.size.width/2, y: imageView.frame.size.height/2)
imageView.layer.mask = mask!
self.imageView = imageView
self.view.addSubview(imageView)
И вот результат:
Я хочу добиться совершенно противоположного. Изображение должно быть в центре размера 100 x 100. Непрозрачная часть изображения должна быть маской, которая должна иметь вид сзади (красный в этом случае). Остальная часть экрана должна быть покрыта синим цветом.
Изменить: Вот изображение, которое я использую.
Как я могу это сделать?