[Résolu] Importer un xib :
busterTheo
Membre
Bonjour,
j'essaie mon premier xib (avec juste une image dans un imageview), et après avoir vu plusieurs tutos simples ou compliqués, je n'y parviens toujours pas. Le xib n'apparait pas. J'essaie une version de base.
Quelqu'un aurait-il une idée ? Merci d'avance.
Voilà le topo :
J'ai créé mon xib et le fichier associé (UIView) avec le même nom.
voici le fichier :
import UIKit
class Bouches2a: UIView {
@IBOutlet weak var fondBouches2a: UIImageView!
var view: UIView!
var nibName: String = "Bouches2a"
override init(frame: CGRect) {
super.init(frame: frame)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setUp()
}
func setUp() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: nibName, bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
}
Et je l'appelle ainsi :
func setUpXib() {
let largeurbouches2a = CGFloat(170)
let hauteurbouches2a = CGFloat(252)
bouches2a = Bouches2a(frame: CGRect(x: 0, y: 0, width: largeurbouches2a, height: hauteurbouches2a))
viewBouchesTest.addSubview(bouches2a)
}
Avec évidemment au départ :
@IBOutlet weak var viewBouchesTest: UIView!
var bouches2a: Bouches2a!
Il doit me manquer un truc, mais je ne vois pas quoi...
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Crée une sous-classe de UIViewController avec un xib associé (cocher la case à la création).
Heu, je ne comprend pas trop la question.
J'ai fait comme là , par ex.
J'ai un fichier xib Bouches2a.xib auquel j'ai associé dans IB, la classe Bouches2a qui est le fichier Bouches2a.swift
Puis j'essaie d'appeler tout ça dans un UIViewController de base.
Je ne connais pas du tout les xibs.
J'ai déjà croiser ça, et ne l'ai jamais fait, car je n'ai rien de clair là -dessus sur le web.
Mei je vais essayer just now. Merci pour les conseils.
Mais tu as déjà croisé les UIViewControllers si tu travailles avec les Storyboards. ça n'a rien de différent.
Ok, j'y suis parvenu.
C'est quand même vachement plus simple comme ça. Vous avez bien raison.
En plus, j'arrive à le faire monter dans un popover.
Je suis vraiment content.
Merci beaucoup.
Je met quand même le bon code (enfin, il me semble) pour les neuneus comme moi.
Le controller associé au xib :
L'appel du xib dans un popOver :
Ah, ça fait plaisir.
Ouais, la toile est vaste et semée d'embûches.
Petit cadeau :
Joanna Carter,
tout d'abord merci pour ton cadeau.
J'aimerai tant l'utiliser, mais je crois que je n'ai pas le niveau.
J'ai pourtant croisé et vaguement utilisé ce genre de truc, mais là , je suis perdu.
ça a l'air trop pro ce truc.
Je vois le
réapparaà®tre, c'est encourageant, car je ne comprenais pas pourquoi je ne m'en servais plus.
Les réponses à venir seront, je n'en doute pas : "Révise tes cours sur les délégués". Oui, je n'arrète pas.
Bon, déjà , je n'ai pas encore fait de "public class" ou "private class", car je flippe un peu, et... blablabla.
Ensuite, les protocol, je ne les ai utilisé uniquement lorsque cela était exclusivement nécessaire (pour les delegate).
Donc, j'ai déjà mis du temps à comprendre cela, malgré tous les conseils que j'ai eu grâce aux barmen, et lorsque j'ai pu implémenter cette technique pour des besoins précis, je suis passé à la suite du projet.
Il est vrai que je suis un peu en rush, et donc ne correspond pas vraiment à l'élève type.
En tout cas, cette expérience de monter une appli swift en 8 mois avec 6 mois d'expérience en objC (6 ans auparavant), et tout ça en autodidacte, me servira certainement dans l'avenir, mais pour l'instant, c'est hyper chaud. Je progresse pourtant beaucoup, mais les concepts (voire un peu abstraits) ont du mal à s'implanter dans mon cerveau.
J'ai lu et relu les boukins que j'ai, de l'époque de l'objectivC, et j'attend avec impatience celui-ci pour le swift, mais il était prévu au départ pour juin 2014, et depuis c'est sans arrêt décalé.
Et le problème dans les boukins, c'est que l'on apprend les trucs de base : faire un tableView - faire un delegate, etc - Mais on ne peut pas y trouver (et c'est normal) les cas particuliers, qui sont légion, auxquels on est confronté.
En ettendant, je modifie tout mon projet, sur les magic numbers et les xibs, et plein d'autre choses.
Je perd du temps à remanier, mais cela sera du temps de gagné pour mes écrans suivants (75%).
De toutes les façons, je serais en retard pour la deadLine du 15 septembre. ça c'est sur, car je n'arrive pas à faire l'enrollement chez Apple, dixit les paramètres administratifs (...) de la société pour laquelle je bosse. Mais ça, je m'en fout un peu. Bien que j'ai hâte de voir le projet sur mon iPad2 que j'ai depuis 15 jours, pour voir que y'a plein de conneries, notamment les constraints et autoLayout, etc.
D'ici là , je garde le moral, et je m'éclate quand même. J'adore ce code, le swift, et j'ai hâte d'être meilleur. La route sera longue, je le sais et cela est bon. Plus c'est long, meilleur c'est d;-)
Et vive la Bretagne...
Si tu ne veux pas utiliser les protocols ou les delegates, tu peux utiliser les closures :
Et, pour ceux qui veulent voir la même chose pour Xcode 7 beta 4 :
Alors là , j'éclate de rire.
Si si, je veux utiliser les protocol et delegate, mais je suis en apprentissage, et j'en utilise un peu, bien sûr, aidé par les barmen.
Par contre les closures, j'ai eu des cours par entre autre AliGator, et je me suis un peu penché dessus, mais je suis loin d'avoir le niveau, et c'est pourquoi ta proposition me fais rigoler. Mais c'est super sympa. Il faut que j'imprime, et que j'étudie tout ça dans le finistère, la semaine prochaine.
Je te répond rapidement sans avoir pris le temps de te lire car j'ai des potes à la maison, et on joue d'la zik, un peu ambiance fête, et j'ai pas trop la tête au code. Je me libère un peu. ça fait du bien.
Encore merci.