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
risposta
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
non posso usare questa soluzione perché ho dovuto mostrarlo per una sezione in UIScrollView non per una tabella completa –
http://stackoverflow.com/questions/7812430/how-to-create- sezioni personalizzate vista – Omarj
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.
È 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.
È 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 :)
in questo modo posso aggiungere ombra a una cella non una sezione. –
Si prega di consultare il mio Modifica –
Buona risposta, funziona correttamente. –
hanno ancora un problema ?? – Omarj
sì, non ho trovato ancora una soluzione –