2009-04-05 6 views
2

Je suis en train de jeter un coup d'œil aux principes de base de l'interface utilisateur que l'équipe de mint.com a mis dans l'application iPhone. Une capture d'écran rapide que je fais référence:Deux questions concernant cette interface utilisateur de l'iPhone

enter image description here

J'ai deux questions concernant cette interface:

1) Il y a un espace élégant entre de l'UITableViewCell où vous pouvez voir le fond vert de menthe le UITableView. Je n'arrive pas à voir une méthode de délégué qui permet de définir un espacement entre les cellules. Comment cela est-il typiquement fait?

2) La dernière cellule a ce qui semble être un UIView avec la dernière mise à jour du serveur. Cet UIView défile en synchronisation avec la table. Est-ce juste un UITableViewCell supplémentaire stylisé différemment du reste des cellules et ajouté à la table?

Répondre

1

L'espace peut être inter-section, ou il peut s'agir d'espace vide dans leurs cellules personnalisées. La vue en bas est probablement tableFooterView. Cette vue (et sa correspondance tableHeaderView) apparaît en bas de la table et défile avec elle.

EDIT: À la réflexion, cela dépend de ce que vous entendez par "défile avec". S'il défile comme une cellule normale, c'est un tableFooterView; sinon, il pourrait s'agir d'un pied de page (je n'ai jamais essayé de les utiliser).

1

1) L'application utilise certainement une tableFooterView personnalisée, puisque vous pouvez voir l'ombre sous la cellule. Mint définit la couleur d'arrière-plan de la vue de la table sur ce vert menthe et ajoute un PNG légèrement transparent pour l'ombre, ou la barre verte + ombre est un PNG lui-même et est utilisé comme vue de pied de page.

Il existe cependant une méthode déléguée pour définir la hauteur de l'en-tête/pied de page. L'utiliser en combinaison avec la vue Pied de page personnalisé est votre meilleur choix.

2) Je suppose que la vue de mise à jour est juste une vue de pied de page personnalisée pour la dernière section (si c'est comme cela qu'ils ont configuré leur table).

Par exemple:

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { 
    if (section == 4) { 
     // return updating time view 
    } else { 
     // return default shadow view 
    } 
} 
Questions connexes