Cambiando colore di intestazione di sezione in UITableView
-
24-09-2019 - |
Domanda
ho abbastanza semplice domanda semplice (lo spero). Come faccio a cambiare la sezione di colore di intestazione in un UITableView dal blu al nero trasparente predefinito? Grazie in anticipo.
Soluzione
è necessario implementare questo metodo nel protocollo UITableViewDelegate:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
Questo è il link al documentazione
... e fare qualcosa del genere (sotto nel vostro colore):
UIView *sectionView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 22)] autorelease];
[sectionView setBackgroundColor:[UIColor blackColor]];
return sectionView;
È inoltre possibile utilizzare il numero intero sezione per i colori alternativi o qualcosa di simile. Credo che l'altezza di default per le sezioni è di 22, ma si può fare quello che vuoi. E 'questo ciò che si intende per la tua domanda? Spero che questo aiuti.
Altri suggerimenti
Questa è una vecchia questione, ma credo che le esigenze di risposta per essere aggiornato.
Questo metodo non comporta definire le proprie viste personalizzate.
In iOS 6 e fino, si può facilmente cambiare il colore di sfondo e il colore del testo definendo la
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section.
Ad esempio:
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { // Background color view.tintColor = [UIColor blackColor]; // Text Color UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view; [header.textLabel setTextColor:[UIColor whiteColor]]; // Another way to set the background color // Note: does not preserve gradient effect of original header // header.contentView.backgroundColor = [UIColor blackColor]; }
Preso dal mio post qui: https://happyteamlabs.com/ blog / ios-how da personalizzare-tavolo-view-header-e-footer-colori /
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,tableView.bounds.size.width, 30)];
if (section == 0)
[headerView setBackgroundColor:[UIColor redColor]];
else
[headerView setBackgroundColor:[UIColor clearColor]];
return headerView;
}