158 votes

Charger une vue à partir d'un fichier xib externe dans le storyboard

Je veux utiliser une vue à travers plusieurs viewcontrollers dans un storyboard. Ainsi, j'ai pensé à concevoir la vue dans un xib externe afin que les changements soient reflétés dans chaque viewcontroller. Mais comment peut-on charger une vue à partir d'un xib externe dans un storyboard et est-ce même possible ? Si ce n'est pas le cas, quelles autres alternatives sont disponibles pour répondre à la situation ci-dessus ?

1 votes

Regardez cette vidéo: youtube.com/watch?v=o3MawJVxTgk

0voto

Pikdays Points 1

Classe BYTXIBView: UIView { var nibView: UIView?

// MARK: - méthodes init
override init(frame: CGRect) {
    super.init(frame: frame)
    commonSetup()
}

required init?(coder: NSCoder) {
    super.init(coder: coder)
    commonSetup()
}

func commonSetup() {
    guard let nibView = loadViewFromNib() else { return }
    nibView.frame = bounds
    nibView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    addSubview(nibView)
}

func loadViewFromNib() -> UIView? {
    let bundle = Bundle(for: type(of: self))
    let className = type(of: self).className
    let view = bundle.loadNibNamed(className, owner: self, options: nil)?.first as? UIView
    return view
}

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X