2010-10-16 4 views
0

question rapide aux gourous de codage!IB constructeur ou programmaticaly dessiner?

Que conseillez-vous? devrais-je dessiner par programme mes champs de texte, étiquettes, images ou devrais-je utiliser IB?

cela ferait-il une différence? J'ai des problèmes de défilement (peu saccadés) mais pas quelque chose que je ne peux pas vivre sans!

grâce

EDIT: S'il vous plaît, monsieur .... S'il vous plaît entrer en ligne pour vos réponses .... pas tous ensemble ....

Répondre

0

ok. problème résolu. vous aviez raison et tort en ce qui concerne l'IB ...

me expliquer:

Je chargeais ma cellule à partir d'un fichier nib.

L'astuce et merci à ce site: http://iphoneincubator.com/blog/tag/dequeuereusablecellwithidentifier

j'ai oublié de mettre mon identifiant de cellule au fichier nib donc je créais les cellules à chaque fois qu'ils ont été pas sur l'écran!

alors un conseil!

Lorsque vous chargez depuis la plume, mettez TOUJOURS le bon identifiant à l'endroit "identificateur" !!!

merci à nolimitsdude qui a effectivement souligné la bonne façon !!

0

j'utiliser IB pour aider à maintenir l'application. La performance saccadée est généralement le résultat de problèmes de gestion de la mémoire et n'est pas spécifique à IB. IB ne fait que la création de l'objet et définit les propriétés communes, donc le faire dans le code, ou dans IB le résultat final est la création d'objets et le réglage des propriétés.

+0

ok merci. quand je cours l'application avec des «fuites» je ne reçois aucune fuite de mem (qui est toujours bonne). J'ai une cellule personnalisée avec des lignes variables. quand il est créé, il parcourt les données autant de fois que les lignes. Lorsque l'utilisateur défile et que les lignes ne sont pas visibles, les cellules sont détruites et créées à chaque fois que l'utilisateur les fait défiler! est-ce la façon dont cela devrait être fait? ou y a-t-il un autre moyen? – treasure

+0

Rechercher des notes sur dequeueReusableCellWithIdentifier: J'utilise cela pour réutiliser les cellules qui défilent à l'écran. Voici un exemple dans mon code. // nous n'avons qu'un seul type, donc nous l'appellerons simplement "Cell" \t static NSString * CellIdentifier = @ "Cell"; \t // essayez de réutiliser une cellule hors écran. s'il n'y en a pas, nous en créerons un nouveau UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier]; if (cellule = nil) { cellule = [[[UITailViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier: CellIdentifier] autorelease]; } – nolimitsdude

+0

merci nolimitsdude! J'utilise en fait ceci ... je vais jeter un coup d'oeil à nouveau dans les notes ... – treasure

Questions connexes