iOS: Masquez un UIImage en utilisant UIBezierPath
Je suis en train de masque d'une image pour que je puisse lui donner seulement deux coins arrondis. Avec le code que j'ai il ajoute juste le masque en blanc sur l'image, mais ne semble pas à l'appliquer. Que dois-je faire pour masquer les coins de l'image?
CAShapeLayer *maskLayer = [CAShapeLayer layer];
UIBezierPath *roundedPath = [UIBezierPath bezierPathWithRoundedRect:maskLayer.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(16.f, 16.f)];
maskLayer.fillColor = [[UIColor whiteColor] CGColor];
maskLayer.backgroundColor = [[UIColor clearColor] CGColor];
maskLayer.path = [roundedPath CGPath];
//Add mask
self.imageView.layer.mask = maskLayer;
source d'informationauteur Nic Hubbard | 2011-08-15
Vous devez vous connecter pour publier un commentaire.
Tour deux coins de UIView
Comme mentionné dans le ci-dessus liés à la question, vous avez probablement besoin de supprimer le point de vue de la hiérarchie avant d'appliquer son masque.
Aussi, votre
maskLayer
n'a pas debounds
. Vous avez besoin de le mettre à laframe
(oubounds
) de la vue que vous essayez de masque.