2010-04-19 4 views
2

Des questions similaires ont été posées en ce qui concerne les vues de grille, mais aucune n'a été suffisamment traitée (certaines ont été laissées sans réponse car les SDK étaient alors sous NDA). La question est: Quelqu'un peut-il me diriger vers un tutoriel, ou m'expliquer quelles sont les étapes à suivre pour créer une vue de grille similaire à iBooks, ou Yahoo! Application de divertissement sur l'iPhone?Créer une vue de grille modifiable comme dans iBooks

Here's a screenshot de ce que je veux dire.

Répondre

13

AQGridView a surgi au cours du week-end (en raison d'un concours iPadDevCamp) qui fait la chose grid viewy. Je ne suis pas sûr que ce soit modifiable, cependant. Si ce n'est pas, il est open source ....

Il a été conçu pour être une version iPhone de NSCollectionView, qui prend en charge la mise en page automatique. AQGridView reflétera également vos cellules. Il se comporte très bien comme un UITableView du point de vue d'un implémenteur.

poste d'annonce: http://quatermain.tumblr.com/post/528737778/aqgridview-lives-for-my-ipad-dev-camp-hackathon

+0

Merci pour cela - vérifier maintenant. –

+0

C'est super, merci! –

+1

Le projet Github est ici: https://github.com/AlanQuatermain/AQGridView – memmons

1

Je ne sais pas à propos de l'iPad, mais ces types de vue du réseau sont toujours mis en œuvre en tant que UITableView avec des cellules personnalisées sur iPhone. Un exemple de ceci est l'application Apple Photos. Il ressemble à une grille avec 4 colonnes, mais en réalité c'est une vue de table et chaque cellule a 4 photos dedans.

Si vous cherchez un exemple de code, un regard sur le projet Three20:

http://joehewitt.com/post/the-three20-project/

+0

Je pensais à cela, mais cela semblerait trop compliquer les choses. Je n'ai pas regardé le code de trois20 en profondeur mais je ne peux pas comprendre intuitivement comment vous manipuleriez les choses d'indexPath dans un tel cas. Cependant, je vais vérifier le code avant de choisir une réponse. Merci, nevan! –

+1

Pour le chemin d'index, si vous avez 4 colonnes, divisez la position du tableau par 4 et convertissez-la en int. Cela vous donnera l'indice des cellules de la table. Trouver le module de 4 pour la position de la photo dans la cellule du tableau. Mon calcul est fragile, mais je pense que cela fonctionnerait. –

1

Je voudrais juste mettre un tas de UIButtons sur la vue. Vous pouvez le faire en IB ou à faire exactement dans le code, comme ceci:

self.newsView = [UIButton buttonWithType:UIButtonTypeCustom]; 
[self.newsView setImage:[UIImage imageNamed:@"news.png"] forState:UIControlStateNormal]; 
[self.newsView addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; 
self.newsView.tag = 1; 

... où la propriété tag est utilisé pour garder une trace de ce bouton est ce que. Ensuite, dans votre méthode buttonAction, regardez la balise pour déterminer quelle action entreprendre.

+0

Merci pour ce Joe. Il me semble que cela fonctionnerait bien pour une grille statique, mais pas pour une grille dynamique. Pour une grille statique, je suis d'accord que ce serait probablement la solution la plus simple. –

Questions connexes