Criar a aparência recuada encontrada no UINavigationBarButton - programaticamente

Eu estou tentando recriar programaticamente a aparência do botão recuado que pode ser visto em um UINavigationBarButton. Não a aparência brilhante de dois tons ou o gradiente, apenas o sombreamento do perímetro:

Parece um sombreado interno ao redor de todo o perímetro de visão, um pouco mais escuro no topo? E então uma sombra de destaque externa ao redor do perímetro de visão inferior.

Eu joguei um pouco com o Core Graphics, e experimentei o QuartzCore e sombreamento com view.layer.shadowRadius e .shadowOffset, mas não consegui fazer com que o realce inferior parecesse correto. Eu também não tenho certeza onde começar a obter tanto um sombreamento escuro com deslocamento interno e um sombreamento de luz com deslocamento externo.

questionAnswers(2)

yourAnswerToTheQuestion