2017-07-09 2 views
-1

Je me demandais comment faire une transition d'une vue d'image à une autre couleur de sorte qu'il semble que la vue d'image "coule" dans la couleur d'arrière-plan dans Swift 3. Je l'ai essayé avec des vues dégradées bon comme dans l'image suivante:Comment passer de l'affichage de l'image à la couleur?

Picture with image view and background color

+0

Voulez-vous dire que vous voulez une vue d'image pour animer et changer l'image colorée en noir et blanc? Je suis confus quand vous dites * passage d'une vue d'image à une autre couleur * –

+0

Non, je suis désolé, c'est difficile à expliquer dans une autre langue. Vous voyez, dans l'image est en bas la couleur de fond blanc et dans le haut il y a une vue d'image. Et ce que je veux, c'est que ça passe de l'image à la couleur, tout comme une vue en dégradé. – user8206035

Répondre

0

Vous devez ajouter une couche de gradient au-dessus de votre point de vue de l'image. Le dégradé est transféré du transparent au blanc afin que vous obteniez l'effet bleu en bas de la vue de votre image. Ici, j'ai une vue de l'image avec la couleur rouge

enter image description here

Le code est comme ça. Ce code crée une couche qui couvre toute la vue de l'image et effectue le dégradé de haut en bas. Si vous voulez qu'il commence à partir de la moitié de l'écran, voir la ligne avec un commentaire qui définit le cadre de la couche. Vous avez juste besoin de faire quelque chose comme frame.y = y + height/2

let layer = CAGradientLayer() 
layer.frame = self.imageView.bounds// Change this line. 
layer.colors = [ 
    UIColor.white.cgColor, 
    UIColor.init(red: 1, green: 1, blue: 1, alpha: 0).cgColor 
] 
self.imageView.layer.mask = layer 

La sortie se présente comme suit

enter image description here