iOS Extension UIView pour les attributs de taille et de cadre


Exemple

Si nous voulons obtenir la valeur d'origine de la vue, nous devons écrire comme suit:

view.frame.origin.x

Pour la largeur, il faut écrire:

view.frame.size.width

Mais si nous ajoutons une simple extension à un UIView , nous pouvons obtenir tous les attributs très simplement, comme:

view.x
view.y
view.width
view.height

Cela aidera également à définir ces attributs comme:

view.x = 10
view.y = 10
view.width = 100
view.height = 200

Et la simple extension serait:

extension UIView {
    
    var x: CGFloat {
        get {
            return self.frame.origin.x
        }
        set {
            self.frame = CGRect(x: newValue, y: self.frame.origin.y, width: self.frame.size.width, height: self.frame.size.height)
        }
    }
    
    var y: CGFloat {
        get {
            return self.frame.origin.y
        }
        set {
            self.frame = CGRect(x: self.frame.origin.x, y: newValue, width: self.frame.size.width, height: self.frame.size.height)
        }
    }
    
    var width: CGFloat {
        get {
            return self.frame.size.width
        }
        set {
            self.frame = CGRect(x: self.frame.origin.x, y: self.frame.origin.y, width: newValue, height: self.frame.size.height)
        }
    }
    
    var height: CGFloat {
        get {
            return self.frame.height
        }
        set {
            self.frame = CGRect(x: self.frame.origin.x, y: self.frame.origin.y, width: self.frame.size.width, height: newValue)
        }
    }
}

Nous devons ajouter ce fichier de classe dans un projet et il sera disponible pour être utilisé tout au long du projet!