Ho un UITableView
dove la mia cella backgroundView
è una UIImageView
. Vorrei che la parte superiore di ogni immagine si dissolvesse in nero in modo da poter sovrapporre del testo bianco.Dissolvenza da iOS a nero in cima a UIImageView
Ho visto alcune risposte come this, ma nessuna sembra funzionare.
In tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
ho provato:
var imageView = UIImageView(image: image)
var gradient: CAGradientLayer = CAGradientLayer()
gradient.frame = imageView.frame
gradient.colors = [UIColor.blackColor(), UIColor.clearColor()]
gradient.locations = [0.0, 0.1]
imageView.layer.insertSublayer(gradient, atIndex: 0)
cell!.backgroundView = imageView
Ma vedo nessuna sfumatura e nessuna differenza da quando viene rimosso il codice gradiente. La mia sfumatura è seduta sotto l'immagine?
Se sostituisco la riga imageView.layer.insertSublayer(gradient, atIndex: 0)
con imageView.layer.mask = gradient
, le mie celle sono solo bianche e vuote (nessuna immagine).
io sono il manifesto della risposta si è collegato al . Si noti che 'gradient.colors' dovrebbe contenere' CGColor's e non 'UIColor's. – duci9y
Congratulo con 3k;) – jezrael