Je définis des propriétés dans la méthode draw de mon UIImageView. Cependant, ceux-ci ne semblent pas prendre d'effet du tout. Je ne vois pas de coins arrondis et aucun effet de masquage. La vue est ci-dessous:Définition du rayon d'angle dans Draw pour UIImageView
//
// RoundImage.swift
//
//
import UIKit
class RoundImage: UIImageView {
//------------------
//MARK: - Setup and Initialization
//------------------
override init(frame: CGRect) {
super.init(frame: frame)
self.initialize()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.initialize()
}
override func draw(_ rect: CGRect) {
super.draw(rect)
self.layer.cornerRadius = 30
self.layer.masksToBounds = true
self.clipsToBounds = true
}
//Setups content, styles, and defaults for the view
private func initialize(){
self.initStyle()
}
//Sets static content for the view
private func staticContent() {
}
//Styles the view's colors, borders, etc at initialization
private func initStyle(){
}
//Styles the view for variables that must be set at runtime
private func runtimeStyle(){
//TODO: These values cannot be changed in interface builder, but they should be able to be
}
//------------------
//MARK: - Interface Builder Methods
//------------------
//Sets the view up for interface builder with runtime styling and temp display values
override func prepareForInterfaceBuilder() {
self.runtimeStyle()
self.staticContent()
}
//------------------
//MARK: - Lifecycle Methods
//------------------
//Sets the view up with runtime styling and values
override func awakeFromNib() {
super.awakeFromNib()
self.runtimeStyle()
self.staticContent()
}
}
est peut-être chose stupide à demander, mais si vous utilisez cela pour un UIImageView dans le story-board, avez-vous assurez-vous de mettre la classe? Si vous l'avez déjà fait, ajoutez un point d'arrêt dans la fonction 'draw' et vérifiez s'il y a une rupture. –
@PratikPatel Oui, j'ai mis la classe. Assez curieusement cependant, il ne frappe pas du tout mon point d'arrêt dans ma méthode de tirage. – steventnorris