2010-03-28 6 views
8

Je peux accéder et afficher self.view et voir le cadre dans le journal mais quand j'essaie d'accéder à self.view.frame, je reçois null. Ci-dessous la sortie du journal deObjective-C Je peux accéder à self.view mais pas self.view.frame

NSLog(@"Show self.view:%@",self.view); 
NSLog(@"Show self.view.frame:%@",self.view.frame); 

-

2010-03-28 11:08:43.373 vivmed_CD_Tab[20356:207] Show self.view:<UITableView: 0x4001600; frame = (0 0; 320 583); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x3b21270>> 
2010-03-28 11:08:43.373 vivmed_CD_Tab[20356:207] Show self.view.frame:(null) 

Quelqu'un peut-il expliquer pourquoi self.view.frame est null mais self.view montre un cadre? Mon objectif est de changer la taille de l'image.

Cheers, Grant

Répondre

19

Un problème dans le code que vous avez posté est que vous imprimez le cadre (un CGRect) comme un objet, qui ne fonctionnera pas. Essayez:

NSLog(@"Show self.view.frame: %u", self.view.frame); // as a pointer 

NSLog(@"Show self.view.frame: %@", NSStringFromCGRect(self.view.frame)); // as a string 
+4

C'est vrai! Les deux premiers champs du CGRect seraient zéro, de sorte que le runtime Obj-C l'interprète comme un objet avec un pointeur de classe null. Si le cadre avait une origine différente, vous vous écraseriez. – codewarrior

Questions connexes