Devo creare un'ombra per le celle all'interno di UICollectionView
. Ho sottoclasse cellule e all'interno del layoutSubviews
Ho aggiunto il seguente codice:Come creare un'ombra per UICollectionViewCell
-(void)layoutSubviews{
[super layoutSubviews];
self.layer.masksToBounds = NO;
self.layer.shadowOpacity = 0.75f;
self.layer.shadowRadius = 5.0f;
self.layer.shadowOffset = CGSizeZero;
self.layer.shadowColor = [UIColor blackColor].CGColor;
self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;
}
Ma le cellule diventa più alta e questo è il risultato:
Se rimuovo il:
self.layer.masksToBounds = NO;
le cellule vengono visualizzati correttamente (con una distanza di 10px tra loro), ma l'ombra non è visibile. Che cosa sto facendo di sbagliato? Inoltre, è corretto aggiungere l'ombra all'interno del metodo layoutSubviews
?
Avete bisogno di spazio tra le cellule? imposta shadowoffset e rimuovi shadowpath. –
@VasanthanPrem sì, ho bisogno di spaziatura tra le celle, se rimuovo il codice all'interno di layoutSubviews posso vedere correttamente la spaziatura, ma usando quel codice per aggiungere un'ombra si ottengono le celle senza spazio tra loro – Signo