2010-12-07 10 views
2

Je voudrais verrouiller le titre/l'en-tête d'un UITableView. En d'autres termes, je veux le fixer à un point et les cellules devraient bouger mais le titre ne devrait pas. La valeur par défaut est que lorsque vous le "retirez", toute la table descend avec le titre. Je veux juste que les cellules descendent et que la tuile reste en place.Comment verrouiller le titre/l'en-tête dans un UITableView

Merci.

Répondre

3

Je voudrais commencez avec un UIView et placez un UITableView dessus avec la pièce ci-dessus pour votre vue que vous voudriez rester fixe. Ensuite, implémentez manuellement UITableViewDelegate et UITableViewDataSource dans votre contrôleur de vue, plutôt que d'hériter de UITableViewController.

0

Si c'est seulement un titre que vous avez besoin, moyen le plus simple serait d'ajouter votre UIView personnalisé au tableHeaderView

Par exemple:

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,40)]; 
UILabel *label = [[UILabel alloc] initWithFrame:headerView.frame]; 
[label setText:@"Header table title"]; 
[headerView addSubview:label] 
[label release] 
self.tableView.tableHeaderView = headerView; 
[headerView release]; 

Cheers, Rog

+0

Cela ne répond pas au souhait que l'en-tête reste fixe en haut pendant le défilement. –

+0

Je suis corrigé sur celui-ci @Greg. Votre approche est probablement la meilleure solution - utilisez un UIViewController avec un UIView personnalisé en haut et un tableauView en dessous. +1 – Rog

+0

OK. Merci pour les réponses. Je voulais juste m'assurer que je n'ai rien manqué dans la documentation qui rend cette fonction super facile! – okysabeni

3

Si vous utilisez un UITableView qui a un style de UITableViewStylePlain et mettre en œuvre votre vue d'en-tête personnalisé comme en-tête de section à l'aide

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

&

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 

alors vous obtiendrez le comportement que vous voulez.

+0

Donc la clé est le 'UITableViewStylePlain'! Je confirme que cela fonctionne, mais existe-t-il un moyen de le faire fonctionner avec 'UITableViewStyleGrouped'? – Ali