Qualcuno sa come aggiungere una sfumatura al fondo di una uitableviewcell o della vista a fotogrammi come l'immagine mostrata qui sotto?Aggiungi sfumatura sfumatura nella parte inferiore di uitableviewcell/uiimageview
risposta
Aggiungi questa classe nel progetto (swift):
class UIGradientImageView: UIImageView {
let myGradientLayer: CAGradientLayer
override init?(frame: CGRect){
myGradientLayer = CAGradientLayer()
super.init(frame: frame)
self.setup()
addGradientLayer()
}
func addGradientLayer(){
if myGradientLayer.superlayer == nil{
self.layer.addSublayer(myGradientLayer)
}
}
required init(coder aDecoder: NSCoder){
myGradientLayer = CAGradientLayer()
super.init(coder: aDecoder)
self.setup()
addGradientLayer()
}
func getColors() -> [CGColorRef] {
return [UIColor.clearColor().CGColor, UIColor(red: 0, green: 0, blue: 0, alpha: 0.5).CGColor]
}
func getLocations() -> [CGFloat]{
return [0.5, 0.9]
}
func setup() {
myGradientLayer.startPoint = CGPoint(x: 0.5, y: 0)
myGradientLayer.endPoint = CGPoint(x: 0.5, y: 1)
let colors = getColors()
myGradientLayer.colors = colors
myGradientLayer.opaque = false
myGradientLayer.locations = getLocations()
}
override func layoutSubviews() {
super.layoutSubviews()
myGradientLayer.frame = self.layer.bounds
}
}
UPDATE: soluzione tradotto Objective-C. Crediti per @SleepsOnNewspapers.
#import "UIGradientImageView.h"
@interface UIGradientImageView()
@property (nonatomic, strong) CAGradientLayer *myGradientLayer;
@end
@implementation UIGradientImageView
-(instancetype)initWithFrame:(CGRect)frame{
if(self){
self = [super initWithFrame:frame];
self.myGradientLayer = [[CAGradientLayer alloc]init];
[self setup];
[self addGradientLayer];
}
return self;
}
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
if(self){
self = [super initWithCoder:aDecoder];
self.myGradientLayer = [[CAGradientLayer alloc]init];
[self setup];
[self addGradientLayer];
}
return self;
}
-(void)addGradientLayer{
if (self.myGradientLayer.superlayer == nil) {
[self.layer addSublayer:self.myGradientLayer];
}
}
Fai la tua classe UIImageView
sul storyboard essere questo uno invece di default.
qualsiasi differenza tra questo e CGGradientLayer? Inoltre è l'implementazione di questo molto diverso nell'obiettivo c? – SleepsOnNewspapers
.. potrebbe essere simile. Basta tradurre da rapido a Objective-C, tutto è disponibile. –
questo codice non funzionerà. Non tiene conto del fatto che uitableviewcells viene ridisegnato – SleepsOnNewspapers
- 1. Maschera sfumatura su UIView
- 2. Uscita colore sfumatura
- 3. Chart.js - aggiungi sfumatura invece di tinta unita - implementazione della soluzione
- 4. C# Crea immagine sfumatura
- 5. UIBezierPath con sfumatura di colore
- 6. Aggiungi barra di avanzamento nella parte inferiore di un listview
- 7. CSS Future Proof Sfumatura lineare
- 8. Forma complessa con sfumatura arcobaleno
- 9. Opacità sfumatura CSS (non sfondo)
- 10. Come posso tracciare una linea di sfumatura nella tela HTML?
- 11. Sfumatura di ricerca elastica in stringa_questazione
- 12. Aggiungi icona nella parte inferiore destra della notifica InboxStyle
- 13. Che cosa è questa opzione "generata" nella direttiva sfumatura automatica?
- 14. come calcolare sfumatura di colore per cento
- 15. Come creare un'ombra sfumatura del bordo css3 radiale
- 16. Sfumatura immagine Campo vettoriale in Python
- 17. WebView Android: disabilita scorrimento sfumatura bordo giallo
- 18. CSS3 sfumatura da bianco a trasparente
- 19. iOS, Disegna sfumatura radiale che riempie ricadere
- 20. Creazione di un'ombra curva con una sfumatura di colore
- 21. Android - Schede nella parte inferiore dello schermo
- 22. Inserisci gli script nella parte inferiore
- 23. Cacao: origine NSView x nella parte inferiore
- 24. Inserisci appbarLayout nella parte inferiore dello schermo
- 25. ScrollView aggiunge ampio spazio nella parte inferiore
- 26. Ember renderizzata nella parte inferiore del DOM
- 27. UIButton: Aggiungi livello sfumatura e il titolo non viene più mostrato - come risolvere?
- 28. Aggiunta di una sfumatura a Google-Visualization ColumnChart
- 29. Come impostare il colore della sfumatura di avanzamento in UIProgressView
- 30. Puoi creare questa linea di sfumatura sfumata usando CSS3?
Creare un CAGradientLayer con zona trasparente e traslucida. Quindi imposta il contenuto della cella Visualizza la maschera del livello a questo livello di sfumatura. – Sandeep