Articles taggés avec 'viewForHeaderInSection'

Personnaliser les sections dans un UITableView Regroupés

potremmo aver necessità di personalizzare la grafica dei titoli delle sezioni, come California o New York dell'esempio qui sotto. Lorsque nous utilisons un UITableView de style Grouped nous pourrions avoir besoin de personnaliser la présentation des titres de sections, comme la Californie ou à New York l'exemple ci-dessous.

UITableView

Pour ce faire, s'il vous plaît utilisez le code suivant, le placer dans le délégué, c'est à dire la classe qui répond au protocole UITableViewDelegate :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/ / Je retourner mon affichage personnalisé, dans ce cas un objet
/ / Type de UILabel
UIView * ) tableView : ( UITableView * ) tableView - (UIView *) tableView: (UITableView *) tableView
NSInteger ) section { viewForHeaderInSection: (NSInteger) {section

[ [ [ UILabel alloc ] initWithFrame : CGRectZero ] autorelease ] ; UILabel * label = [[[UILabel alloc] initWithFrame: CGRectZero] autorelease];
UIFont boldSystemFontOfSize : 20 ] ; label.font = [UIFont boldSystemFontOfSize: 20];
label.textAlignment = UITextAlignmentCenter;
UIColor blackColor ] ; label.shadowColor = [UIColor blackColor];
1 , 1 ) ; label.shadowOffset CGSizeMake = (1, 1);
"Sezione" ; // Sostituire con un array come al solito Label.Text @ = "section", / / Remplacer avec un tableau comme d'habitude
UIColor whiteColor ] ; label.textColor = [UIColor whiteColor];
UIColor clearColor ] ; label.backgroundColor = [UIColor clearColor];
; label.opaque = NO;

retourner l'étiquette;
}
/ / Nous devons également soutenir ce message ne ​​fonctionne pas
CGFloat ) tableView : ( UITableView * ) tableView - (CGFloat) tableView: (UITableView *) tableView
NSInteger ) section { heightForHeaderInSection: (NSInteger) {section
; retour 44;
}

Il est également important d'inclure heightForHeaderInSection , cela ne fonctionnera pas.

Notes d'intérêt

o UIImageView , ho utilizzato per inizializzare il frame CGRectZero che corrisponde a CGRectMake(0,0,0,0) . Dans la création de notre UILabel , que vouloir pourrait aussi être un objet plus complexe comme un UIView ou UIImageView , j'ai utilisé pour initialiser le frame CGRectZero ce qui correspond à CGRectMake(0,0,0,0) .

En savoir plus ...


Arrêtez SOPA