Vous ne pouvez pas faire défiler chaque section séparément. Cependant, selon votre description, on dirait que votre première section n'est pas vraiment une section et devrait être un en-tête pour la deuxième section. Lorsque vous créez un en-tête pour une section, l'en-tête restera toujours visible. Pour créer une section de vue personnalisée, vous devez implémenter viewForHeaderInSection et heightForHeaderInSection définis dans le protocole UITableViewDelegate.
Voici un exemple
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 60;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *myHeader = [[[UIView alloc] initWithFrame:CGRectMake(0,0,60,320)] autorelease];
myHeader.backgroundColor = [UIColor redColor];
UILabel *myLabel = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,30,150)] autorelease];
myLabel.text = @"Testing header view";
[myHeader addSubView:myLabel];
return myHeader;
}
De cette façon, vous pouvez créer une vue de table avec une section et un en-tête de cette section qui restera en vue même lorsque la table est défilée.
BTW J'espère que mon code fonctionne, je l'ai écrit directement ici et non dans xcode. –
OK, faites la partie supérieure de l'en-tête de la deuxième section ... Cela pourrait avoir des avantages supplémentaires. Merci pour le super article! – SK9