Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding Emboss to a UILabel in a navigationItem.titleView (as seen with navigationItem.title)

I'm trying to mimic the default emboss that automatically gets applied to navigationItem.title, as well as many other UIKit controls.

As seen in this screenshot's title ("Table Cells"):

Emboss title http://quicksnapper.com/files/3440/192219267049D92BB23DE74.png

I'm essentially trying to add 2 UILabels to the navigationItem.titleView, however the UILabels just show up as flatly drawn and it really just doesn't feel/look right :P

I've thought about playing with shadows, but that would only give the embossed look (if even that) on one side of the label.

Any ideas would be great!

Thanks

like image 593
Sahil Avatar asked Apr 15 '09 21:04

Sahil


3 Answers

Yeh thanks! I just figured it out:

where postTitle is set to a white colour, i just added a darkGray shadow with a vertical offset of 1px.

[postTitle setShadowColor:[UIColor darkGrayColor]];

[postTitle setShadowOffset:CGSizeMake(0, -1)];

Looks exactly like anything you'd put in a .title :)

like image 114
Sahil Avatar answered Nov 14 '22 06:11

Sahil


shadow and shadowOffset are what you're looking for I think. Set those properties on the label and it should do what you want.

like image 25
Genericrich Avatar answered Nov 14 '22 07:11

Genericrich


A white shadow and a plus one instead a minus one as offset gives that depressed embossed look.

like image 1
boxed Avatar answered Nov 14 '22 05:11

boxed