¿Efecto de sombra interior en la capa UIView?

Tengo el siguiente CALayer:

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(8, 57, 296, 30);
gradient.cornerRadius = 3.0f;
gradient.colors = [NSArray arrayWithObjects:(id)[RGB(130, 0, 140) CGColor], (id)[RGB(108, 0, 120) CGColor], nil];
[self.layer insertSublayer:gradient atIndex:0];

Me gustaría agregar unsombra interior efecto, pero no estoy muy seguro de cómo hacerlo. Supongo que se me requeriría dibujar en drawRect, sin embargo, esto agregaría la capa en la parte superior de otros objetos UIView, ya que se supone que es una barra detrás de algunos botones, por lo que no sé qué hacer.

Podría agregar otra capa, pero de nuevo, no estoy seguro de cómo lograr el efecto de sombra interior (como este:

Ayuda apreciada ...

Respuestas a la pregunta(15)

Su respuesta a la pregunta