I add the layer to my view:
[self.layer insertSublayer:_gradient above:_another.layer];
Then it doesn't seem to get removed with this, even if I call needsDisplay on the super layer:
[_gradient removeFromSuperlayer];
How can I remove it?
You can set gradient nil after remove from superlayer.It worked for me.