Je suis d'ajouter une vue personnalisée à un tableHeaderView avec le code suivant:Où est la fuite de mémoire?
imageButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
imageButton.frame = CGRectMake(120, 12, 64, 64);
imageButton.titleLabel.font = [UIFont systemFontOfSize:10];
imageButton.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
imageButton.titleLabel.textAlignment = UITextAlignmentCenter;
[imageButton setTitle:NSLocalizedString(@"Choose\nPhoto", @"Choose\nPhoto") forState:UIControlStateNormal];
[imageButton addTarget:self action:@selector(photoButtonPressed) forControlEvents:UIControlEventTouchUpInside];
// add existing image, if any, to button
if (child.thumbnailImage != nil) {
[imageButton setBackgroundImage:child.thumbnailImage forState:UIControlStateNormal];
}
// add button to view
self.headerView = [[UIView alloc] initWithFrame:CGRectMake(22, 12, 70, 70)];
[headerView addSubview:imageButton];
// add view to table header
self.tableView.tableHeaderView = headerView;
La fuite de mémoire montre sur la ligne alloc ci-dessus pour la headerView UIView. Je déclare le UIView et le UIButton dans le fichier d'en-tête et le libère dans ViewDidUnload et dealloc, donc je ne suis pas sûr de ce que je fais de mal. En outre, cela n'apparaît que sur l'appareil et non sur le simulateur (je voulais juste le mentionner).
Toute aide serait appréciée.
Merci,
Rod
Pouvez-vous poster votre ViewDidUnload? – xil3