Sto provando ad aggiungere un'ombra esterna alle viste che sono sovrapposte l'una sull'altra, le viste si accartocciano permettendo di vedere il contenuto in altre viste, in questo modo io vuoi mantenere view.clipsToBounds
ON in modo che quando le viste comprimono il loro contenuto viene troncato.Qual è il modo migliore per aggiungere un'ombra esterna al mio UIView
Questo sembra aver reso difficile per me aggiungere un'ombra esterna ai livelli come quando giro clipsToBounds
Anche le ombre sono troncate.
ho cercato di manipolare view.frame
e view.bounds
al fine di aggiungere un'ombra al telaio, ma consentono i limiti di essere sufficientemente ampia da contenere, però non ho avuto fortuna con questo.
Ecco il codice che sto usando per aggiungere un ombra (funziona solo con clipsToBounds
OFF come illustrato)
view.clipsToBounds = NO;
view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0,5);
view.layer.shadowOpacity = 0.5;
Ecco un'immagine dell'ombra viene applicata al leggero strato superiore grigio. Spero che questo dia un'idea di come il mio contenuto si sovrapporrà se clipsToBounds
è OFF.
Come posso aggiungere un'ombra alla mia UIView
e mantenere il mio contenuto ritagliato?
Edit: Volevo solo aggiungere che ho anche giocato con l'utilizzo di immagini di sfondo con ombre su, che funziona bene, tuttavia mi piacerebbe comunque conoscere la migliore soluzione codificata per questo.
Grazie, ho provato il codice e poi ha cercato di aggiungere 'masksToBounds = NO;' alla mia originale - con entrambi i tentativi ho continuato 'clipsToBounds = YES;' ON - sia riuscito a ritagliare il contenuto. ecco uno screencap di ciò che è successo con il tuo esempio> http://youtu.be/tdpemc_Xdps – Wez
Qualche idea su come ottenere l'ombra esterna per abbracciare un angolo arrotondato anziché renderlo come se l'angolo fosse ancora un quadrato? –
@JohnErck prova questo: 'UIBezierPath * shadowPath = [UIBezierPath bezierPathWithRoundedRect: view.bounds cornerRadius: 5.0];'. Non testato ma dovrebbe fornire il risultato desiderato. – pkluz