Pour afficher Headerview avec l'image et les étiquettes dans le viewcontroller
-
20-09-2019 - |
Question
Je suis nouveau au développement iPhone. J'ai créé un contrôleur de vue et moi groupée vue de tableau. Maintenant, je veux afficher la vue d'en-tête dans mon viewcontroller avec l'image et les étiquettes. S'il vous plaît me guider et me aider dans ce problème.
Merci.
La solution
Voulez-vous dire un headerView ou un sectionHeaderView? Vous pouvez ajouter des sous-vues à la headerView dans la méthode viewDidLoad
:
- (void)viewDidLoad {
[super viewDidLoad];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 225)];
label.text = @"BlaBla";
[self.tableHeaderView addSubview:label];
}
Vous spécifiez la taille et la position de l'étiquette avec la méthode initWithFrame
et ajoutez l'étiquette à la sous-vue tableHeaderView - vous pouvez le faire avec plusieurs étiquettes
Si vous voulez dire que le sectionHeader vous devez implémenter la méthode tableView:viewForHeaderInSection:
, où vous devez créer une nouvelle vue, et d'ajouter différents sous-vues à elle:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 40)];
label.text = @"BlaBla";
[view addSubview:label];
[label release];
return [view autorelease];
}
Dans ce cas, vous devez également mettre en œuvre la méthode tableView:heightForHeaderInSection:
qui doit revenir à la hauteur de la vue que vous créez dans la méthode ci-dessus:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 50.0f;
}