[SWIFT] Comment charger l'interface utilisateur créée avec un fichier Xib dans View

Vous souhaitez simplifier au maximum les restrictions de la mise en page automatique. En chargeant Xib dans View, les contraintes de ViewController sont simplifiées! Et simplifier.

Tout d'abord, placez la vue dans sampleViewController.Xib. スクリーンショット 2020-11-14 12.09.12.png

Après avoir placé la vue comme ceci, créez le fichier Swift et le fichier Xib de la vue.

Fichier Swift スクリーンショット 2020-11-14 11.55.32.png Afficher le fichier Xib スクリーンショット 2020-11-15 21.04.17.png

Utilisons le même nom de fichier! !! (Cette fois, nommé sampleHomeView)

Écrivez le code dans sampleHomeView.swift. C'est OK avec le copier-coller.

sampleHomeView.swift


import UIKit

class sampleHomeView: UIView {
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        loadView()
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        loadView()
    }
    
    private func loadView() {
        let className = String(describing: type(of: self))
        let view: UIView = Bundle.main.loadNibNamed(className, owner: self, options: nil)?.first as? UIView ?? UIView()
        view.frame = bounds
        addSubview(view)
    }
}

En écrivant ce code, vous pouvez définir la classe du propriétaire du fichier et la charger dans View. Sélectionnez le propriétaire du fichier dans sampleHomeView.Xib et définissez Class sur sampleHomeView. スクリーンショット 2020-11-15 20.51.38.png

Placez ensuite les éléments de l'interface utilisateur dans sampleHomeView.Xib. (Placez le bouton cette fois) スクリーンショット 2020-11-14 12.01.59.png

Ensuite, définissez sampleView.Xib. Sélectionnez la vue que vous avez placée en premier et définissez la classe de CustomClass sur sampleHomeView. スクリーンショット 2020-11-15 20.55.59.png Vous pouvez maintenant charger Xib dans View. Cependant, dans cet état, nous ne savons pas qu'il est chargé dans View, alors construisons-le! !! スクリーンショット 2020-11-14 12.09.28.png

Vous pouvez le charger avec ceci (^ ^) En faisant cela, il semble que la disposition des parties de l'interface utilisateur puisse être simplifiée.

Recommended Posts

Comment charger l'interface utilisateur créée avec un fichier Xib dans View
Comment charger un fichier de téléchargement Spring et afficher son contenu
Comment sortir le CSV créé par Rails vers S3
[Rails] Comment charger JavaScript dans une vue spécifique
[Ruby] Comment diviser chaque requête GraphQL en fichiers
Comment développer dans des fichiers Xib sans utiliser Storyboard
Comment "évider" une vue sur Android
Comment convertir un fichier erb en haml
[Débutant] Comment supprimer AUCUN FICHIER
Comment éviter le traitement en double par addEventListener
Comment utiliser binding.pry pour afficher le fichier
[Java] Comment utiliser la classe File
Comment ajouter un fichier jar dans ScalaIDE
Comment réaliser le téléchargement de fichiers avec Feign
Comment diviser un fichier de message Spring Boot
Comment réaliser le téléchargement de fichiers avec Feign
[Rails] Comment traduire la devise en japonais