2017-07-09 2 views
1


Je fais ce point de vue avec un fichier rapide
Comment couper coin d'une image

import UIKit 

@IBDesignable class DesignView: UIView { 

@IBInspectable var CornerRadius: CGFloat = 0 { 
    didSet { 
     self.layer.cornerRadius = CornerRadius 
    } 
    } 

} 

Mais quand je mets un fond d'image le trop-plein d'image de la vue comme ceci:

J'ai essayé d'appliquer le même fichier swift à mon image voir comme ceci

import UIKit 

@IBDesignable class DesignImageView: UIImageView { 

@IBInspectable var CornerRadius: CGFloat = 0 { 
    didSet { 
     self.layer.cornerRadius = CornerRadius 
    } 
    } 

} 

Mais rien ne s'ajoute alors comment puis-je couper le coin sans modifier mon image?

+1

view.clipsToBound = true – sasquatch

+0

@sasquatch Oh cela fonctionne merci ^^ Il a été deux heures que je suis sur ce problème et vous résolu en deux secondes – Rombond

Répondre

1

Essayez

view.clipsToBound = true 

Votre image montre de ses limites en raison de sa taille

De Apple Developer Docs:

La définition de cette valeur à true subviews amène à être clipsé aux limites du récepteur. Si elle est définie sur false, les sous-vues dont les images s'étendent au-delà des limites visibles du récepteur ne sont pas tronquées. La valeur par défaut est false.

0

Ajoutez ce code de votre Class Scope

extension UIView // Almost any Kind of View inherits UIView Ex: UIImageView 
{ 
    func setCorner(withRadius radius : CGFloat) 
    { 
     self.layer.cornerRadius = radius 
     self.clipsToBounds = true //your view won't cross the bound 
    } 
} 

Et utiliser comme. .

DesignImageView.setCorner(withRadius: 5)