I am attempting to create a custom back button for UINavigationbar.
I know that I can use backButtonBackgroundImageForState:barMetrics:
to set an image.
My problem is that I don't what to have to use an image file. I would rather draw the back button in code.
My question is can I subclass a UIView, override the drawrec: to draw a back button, then use that UIView as an image in backButtonBackgroundImageForState:barMetrics
:
I'm thinking that it would go something like:
UIImage * backButtonImage = // somehow get image from my subclassed UIView;
backButtonImage = [backButtonImage stretchableImageWithLeftCapWidth: 15.0 topCapHeight: 30.0];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage: backButtonImage forState: UIControlStateNormal barMetrics: UIBarMetricsDefault];
Is this even the best way to be going about this? Or should I just suck it up and create an image in photoshop?
You can create a bitmap image context using
UIGraphicsBeginImageContextWithOptions
, without making a subclass ofUIView
and overridingdrawRect:
.