2017-07-09 3 views
1


Ich mache diese Ansicht mit einer schnellen Datei
Wie Ecke eines Bildes schneiden

import UIKit 

@IBDesignable class DesignView: UIView { 

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

} 

Aber wenn ich einen Hintergrund des Bildes der Bildlauf der Ansicht wie folgt aus:

Ich habe versucht, die gleiche swift-Datei auf meine Bildansicht wie diese

import UIKit 

@IBDesignable class DesignImageView: UIImageView { 

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

} 
anwenden

Aber nichts append so wie kann ich die Ecke schneiden, ohne mein Bild zu bearbeiten?

+1

view.clipsToBound = true – sasquatch

+0

@sasquatch Oh, es funktioniert danke ^^ Es wird 2 Stunden, die ich an diesem Problem bin und Sie löst es in zwei Sekunden – Rombond

Antwort

1

Versuchen

view.clipsToBound = true 

Ihr Bild ist wegen seiner Größe seiner Grenzen zeigt aus

Von Apple Developer Docs:

diesen Wert einstellen zu Subviews wahren Ursachen auf die Grenzen abgeschnitten werden des Empfängers. Wenn dieser Wert auf "false" gesetzt ist, werden Subviews, deren Frames über die sichtbaren Grenzen des Empfängers hinausreichen, nicht abgeschnitten. Der Standardwert ist false.

0

diesen Code hinzufügen aus Ihrem 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 
    } 
} 

Und verwenden wie. .

DesignImageView.setCorner(withRadius: 5)