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 ?
Réponse
Trop de publicités?
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
}
}
- Réponses précédentes
- Plus de réponses
2 votes
Possible duplicate de Comment créer une classe de vue iOS personnalisée et instancier plusieurs copies de celle-ci (dans IB) ?
1 votes
Regardez cette vidéo: youtube.com/watch?v=o3MawJVxTgk