[Résolu] Taille d'une frame
ObjectiveSwift
Membre
Bonjour à tous,
J'ai ce code dans le init d'un viewController :
NSLog(@FRAME WIDTH : %f, self.webView.frame.size.width);
NSLog(@FRAME HEIGHT : %f, self.webView.frame.size.height);
Quel que soit le device (iPad ou iPhone), j'ai toujours les mêmes valeurs.
FRAME WIDTH : 320.000000
FRAME HEIGHT : 440.000000
Je pense que j'utilise pas les bonnes propriétés mais après plusieurs essais je viens vers vous. J'ai aussi essayé :
NSLog(@FRAME WIDTH : %f, self.view.frame.size.width);
NSLog(@FRAME HEIGHT : %f, self.view.frame.size.height);
Idem.
Merci pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Avant, tu auras la frame définie dans le xib ou le storyboard.
Rhaaa, j'y ai pas pensé, merci.
Déplacé dans webViewDidStartLoad et c'est bon.
Je reviens ici parce que en fait, ça ne marche pas tout à fait. En fait je suis obligé d'avoir un setFrame à deux endroits différents pour que la UIProgressBar soit à la bonne dimension du iPad. Sur iPhone c'est ok mais sur iPad j'ai soit rien, soit une moitié de barre.
Donc j'ai ceci dans le init :
Et ceci :
Si je supprime le setFrame dans le init, je n'ai plus de UIProgressBar qui s'affiche. Si je supprime celui du viewDidAppear, alors elle fait la moitié de l'écran.
Quelqu'un aurait il une solution ? Je trouve anormal d'avoir la même ligne de code (ou en tout cas deux appels) du setFrame. Que celui du init soit éroné, a la limite (et encore que) mais l'autre seul devrait fonctionner.
Merci pour vos lumières.
À quoi correspond self.view ? C'est une UIView toute simple ?
Vérifie ce que vaut self.view.bounds à ce moment là .
Ah oui, j'ai oublié de préciser que j'ai testé self.view et self.webview. Dans les deux cas, le résultat est identique.
Comme on travaille avec Cordova, je pense que la view est celle du .xib sur laquelle est positionné la UIWebView qui prends toute la taille disponible du terminal.
Sinon voici le résultat que tu me demandes de vérifier :
Bon sinon je déplace mon code de l'UIProgressView dans le viewDidAppear ? Au moins j'ai pas des trucs partout, voir doublé.
D'ailleurs le init de mes autres composants comme le UIAlertView au même endroit non ?
Pour les alert view, je la créer quand j'en ai besoin c'est à dire au moment de l'affichage du message à l'utilisateur.
Le xib est vide et comme on passe par Cordova je ne sais pas qu'elle incidence il peut y avoir (si tant est qu'il y en ai une).
Sinon, je viens de tester à l'instant et c'est bon. Tout mon code du init est passé dans le viewDidAppear. Je pense que le init est à réserver pour autre chose.
Dans tous les cas, merci.
EDIT : a ma grande surprise, le setFrame n'est même pas utile...