2010-10-05 7 views
0

Je n'arrive pas à obtenir NSCoding pour stocker les propriétés 'frame' ou 'center' de mon objet UIImageView sous-classé. Il semble stocker tout le reste, à la fois les propriétés personnalisées et les propriétés de classe standard (par exemple 'hidden', etc ...), mais pas les propriétés 'frame' ou 'center'. Je ne suis pas en train d'essayer d'archiver un UIImage (car cela n'est pas compatible avec NSCoding).NSCoding ne semble pas stocker le cadre de mon UIImageView

Je posterai du code si nécessaire, mais je ne fais rien de spécial au 'frame' autre que de le définir.

Des idées?

Répondre

1

La trame est basée sur le système de coordonnées des parents et il n'y a pas de parent jusqu'à ce que vous ajoutiez la vue. Si vous avez une sous-classe, vous pouvez remplacer les méthodes de codage et stocker le cadre vous-même, bien qu'il ne soit pas dans la bonne position en fonction de la vue parente.

+0

Merci Scott pour la réponse rapide. Ça a du sens. – JMH

0

Vous pouvez stocker ce cadre en tant que chaîne à l'aide de NSStringFromCGRect(), puis le lire plus tard à l'aide de CGRectFromString(). Cependant, tout est basé sur le cadre de vue parent, donc gardez cela à l'esprit.

Questions connexes