2012-11-15 10 views
5

Ho un UITableView con 4 sezioni. Ora voglio aggiungere un effetto ombra a una particolare sezione della tabella ma non alla tabella completa. Come posso raggiungere questo compito?Ombra intorno a una sezione di UITableView

+1

hanno ancora un problema ?? – Omarj

+0

sì, non ho trovato ancora una soluzione –

risposta

2

Prova questa

yourView.layer.shadowColor = [[UIColor blackColor] CGColor]; 
yourView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f); 
yourView.layer.shadowRadius = 3.0f; 
yourView.layer.shadowOpacity = 1.0f; 

Avrai bisogno di sostituire "yourView" con qualsiasi altra cosa

non dimenticare inoltre avrete bisogno di importare QuartzCore/CALayer.h

+8

non posso usare questa soluzione perché ho dovuto mostrarlo per una sezione in UIScrollView non per una tabella completa –

+0

http://stackoverflow.com/questions/7812430/how-to-create- sezioni personalizzate vista – Omarj

0

Avrete modificare l'intestazione e il piè di pagina delle sezioni e tutte le celle della sezione.

Utilizzare tableView:viewForFooterInSection:, tableView:viewForHeaderInSection: e tableView:cellForRowAtIndexPath: per quello. Basta aggiungere un UIView con rgba 0/0/0/0.2 o simile per ogni vista che vuoi essere scura.

0

È possibile aggiungere un'immagine con ombra come sfondo di UITableViewCell. L'ombra dovrebbe essere disegnata nell'immagine. È molto semplice e la tua applicazione funzionerà più velocemente.

0

È possibile specificare l'ombra per la sezione desiderata. Ecco un esempio.

Prima di tutto stiamo facendo un po 'di spazio a disposizione per l'intestazione

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    if(section == mysection) 
    { 
     // Returns the height you want for the header section. I am giving 20 
     return 20; 
    } 
} 

Poi la decorazione della testata

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    if(section == mysection) 
    { 
     UIView *shadowView = [[[UIView alloc] initWithFrame: CGRectMake(0,0,320,20)] autorelease]; 
     shadowView.backgroundColor = [UIColor whiteColor]; 

     // Doing the Decoration Part 
     shadowView.layer.shadowColor = [[UIColor blackColor] CGColor]; 
     shadowView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f); 
     shadowView.layer.shadowRadius = 3.0f; 
     shadowView.layer.shadowOpacity = 1.0f; 

     return shadowView; 
    } 
    return nil; 
} 

completarlo dalla tua parte. Questo è uno schema di base. Happy Coding :)

+0

in questo modo posso aggiungere ombra a una cella non una sezione. –

+0

Si prega di consultare il mio Modifica –

+0

Buona risposta, funziona correttamente. –