2010-01-23 3 views
1

grâce aux gens ici, j'ai déjà appris beaucoup sur mon chemin vers une application iPhone cool sur laquelle je travaille. Cependant, je me demandais si quelqu'un avait découvert comment manipuler un UITableView, de sorte qu'une cellule (n'importe laquelle ou, si ce n'est pas possible, elle ne pouvait être que la sélectionnée) puisse avoir une hauteur différente.Personnalisez la hauteur de n cellules dans UITableView, mais pas tout de même

Je sais que je peux utiliser quelque chose comme ceci:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
return 70; 

} */

Pour modifier l'ensemble TableView. Mais comment est-ce que j'aborderais ceci à une seule cellule spécifique?

L'objectif final est de parvenir à un « dock OS X » effet de zoom -comme lorsque vous faites défiler une table ...

Toute aide est appréciée.

Meilleures salutations, J *

Répondre

2

La méthode que vous citant là, dans votre question est exactement la méthode que vous souhaitez utiliser. Le code que vous avez posté renvoie toujours une valeur fixe. Mais le paramètre indexPath est là pour que vous puissiez l'utiliser dans n'importe quel traitement conditionnel que vous pourriez vouloir faire. Par exemple, déterminez si cette ligne est sélectionnée et renvoyez une hauteur différente.

Vous devez également veiller à ce que la cellule à laquelle vous revenez de -[UITableView cellForRowAtIndexPath:] corresponde à cette hauteur.

0

Vous utilisez la indexPath ligne et section pour déterminer et retourner la hauteur de la cellule.

Toutes les méthodes liées à UITableViewController vous donnent un indexPath qui correspond à la cellule lorsque vous demandez des informations spécifiques. Par exemple, lorsque vous demandez de la cellule réelle pour revenir: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

Que faire quand une cellule a été sélectionnée: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

Hauteur de la cellule: - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

Et plusieurs autres. Découvrez un tutoriel UITableViewController pour comprendre comment cela fonctionne en tant que delegate et dataSource pour un UITableView.

Voici un bon: http://adeem.me/blog/2009/05/19/iphone-programming-tutorial-part-1-uitableview-using-nsarray/

+0

Salut mjdth, merci beaucoup ... Je pense que m'habituer à l'approche générale de Cocoa et de la POO est mon problème ici. Je vais essayer de trouver comment faire smthg avec NSIndexPath et la méthode pour définir la hauteur. Merci pour le lien vers le tutoriel. – Jondalar

Questions connexes