Définir l'AutoLayout via le Swift
Bonjour à tous,
plus habitué à Access et son bon vieux VBA, je me cogne ta tête contre les murs avec Xcode
je suis en train de créer une petite application test pour iPhone composée de :
1 PageViewController (vue initiale au démarrage du projet)
2 ViewController
j'ai un scroll horizontal avec un pageControl entre mes 2 viewController, jusque-là, pas de problème.
Pour un côté design, j'ai voulu mettre un background transparent sur mes 2 viewController et une image de fond sur mon pageViewController (de cette manière, en passant d'une vue à l'autre, on fait glisser les bouton, texte et autres trucs, sur une image qui reste fixe).
Je n'ai malheureusement pas pu réaliser un glisser-déposé de mon ImageView sur le pageViewController (je ne sais pas si c'est possible) j'ai donc appliqué une image via le code Swift.
Dans mon fichier class PageViewController.swift, j'ai donc ajouté le code suivant :
Directement dans la class PageViewController
Code:
1 2 3
| var imageView: UIImageView?
var screenWidth: CGFloat {return UIScreen.main.bounds.width}
var screenHeight: CGFloat {return UIScreen.main.bounds.height} |
puis dans le viewDidLoad()
Code:
1 2 3 4
| imageView = UIImageView(image: UIImage(named: "background.jpg")!)
imageView!.frame = CGRect(x: 0, y: 0, width: screenWidth, height: screenHeight)
imageView!.contentMode = .scaleAspectFit
view.insertSubview(imageView!, at: 0) |
je pensais que de cette manière, peu importe le modèle d'iPhone utilisé, mon background s'adapterait parfaitement à l'écran, hors ce n'est pas le cas.
J'ai donc pensé qu'au lieu de définir le height et le width de mon image, je pourrais plutôt définir des marges égales à 0 par rapport au bords de l'écran mais je ne sais pas comment faire.
merci de votre aide.
Sylvain
Pourquoi faire simple quand on peu faire compliqué !!
Bonjour, J'espère que tu as trouvé depuis !!
sinon dans le Storyboard tu droppes une UImageView dans ton controler, une fois celle-ci posée tu sélectionnes l'image que tu veux dans la 4ème onglet de la colonne de droite, au préalable celle-ci doit être déposé dans le dossier Assets du projet et après tu mets les contraintes a Zéro...
voilà...