2017-12-07 9 views
1

Ich rufe eine Funktion, die eine UIImageView aufstellt:Bild Ansicht Doppel Border

func setupImageView(_ imageView: UIImageView) {} 

ich, dass UIImageView ein Bild geben wollen, um seine Ecken, und es zwei verschiedene Grenzen geben.

Hier ist, was ich derzeit tue:

imageView.image = imageConstants.imageThatIsWanted 
imageView.clipsToBounds = true 
imageView.layer.cornerRadius = imageView.frame.height/2 
imageView.layer.borderWidth = 3.0 
imageView.layer.borderColor = UIColor.white.cgColor 

Was ist der beste Weg, um einen zweiten border der Farbe blau um den weißen Rand bewerben?

Ich habe versucht, eine Unterschicht als CALayer zu erstellen und einen blauen Rahmen zu geben, aber das geht hinter das Bild und auch innerhalb der weißen Grenze. Ich habe auch versucht, einen UIBezierPath zu zeichnen, aber das bleibt auch innerhalb der weißen Grenze.

+1

konnte nicht Sie machen die Bildansicht ein Subview eines größeren 'UIView' sein? Eins, das 6 Punkte mehr in der Höhe/in der Breite hat und es hat einen blauen Rand? – dfd

Antwort

0
import UIKit 

class ViewController: UIViewController { 

    @IBOutlet weak var secondView: UIView! 
    @IBOutlet weak var imgView: UIImageView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     imgView.layer.cornerRadius = imgView.frame.size.height/2 
     secondView.layer.cornerRadius = secondView.frame.size.height/2 
     imgView.layer.borderWidth = 5.0 
     imgView.layer.borderColor = UIColor.red.cgColor 
     imgView.clipsToBounds = true 
     secondView.clipsToBounds = true 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

enter image description here