UIBarButtonItem setBackButtonBackgroundImage forState barMetrics
Sets the back button background image for a given control state and bar metrics
- (void)setBackButtonBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics
Parameters
backgroundImage
The image to use for the back button’s background.
state
A control state.
barMetrics
Bar metrics.
Discussion of [UIBarButtonItem setBackButtonBackgroundImage forState barMetrics]
This modifier applies only to navigation bar back buttons and is ignored by other buttons.
For good results, backgroundImage must be a stretchable image.
UIBarButtonItem setBackButtonBackgroundImage forState barMetrics example.
UIImage *toolbarBtnBg = [[UIImage imageNamed:@\"toolbarBtn_bg.png\"] stretchableImageWithLeftCapWidth:15 topCapHeight:15];
UIImage *toolbarBtnBgHighlighted = [[UIImage imageNamed:@\"toolbarBtnHiglighted_bg.png\"] stretchableImageWithLeftCapWidth:15 topCapHeight:15];
UIBarButtonItem *addBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@\"iconAdd.png\"] style:UIBarButtonItemStyleBordered target:self action:@selector(addAction:)];
[addBtn setBackButtonBackgroundImage: toolbarBtnBg forState:UIControlStateNormal barMetrics:0];
[addBtn setBackButtonBackgroundImage: toolbarBtnBgHighlighted forState:UIControlStateHighlighted barMetrics:0];
UIImage *toolbarBtnBgHighlighted = [[UIImage imageNamed:@\"toolbarBtnHiglighted_bg.png\"] stretchableImageWithLeftCapWidth:15 topCapHeight:15];
UIBarButtonItem *addBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@\"iconAdd.png\"] style:UIBarButtonItemStyleBordered target:self action:@selector(addAction:)];
[addBtn setBackButtonBackgroundImage: toolbarBtnBg forState:UIControlStateNormal barMetrics:0];
[addBtn setBackButtonBackgroundImage: toolbarBtnBgHighlighted forState:UIControlStateHighlighted barMetrics:0];
Example of [UIBarButtonItem setBackButtonBackgroundImage forState barMetrics].
UIImage *leftButtonImage = [UIImage imageNamed:@"nav-bar-back-button.png"];
UIImage *leftbuttonNormal = [leftButtonImage
stretchableImageWithLeftCapWidth:15 topCapHeight:15];
UIBarButtonItem *item = [[[UIBarButtonItem alloc]init] autorelease];
[item setBackButtonBackgroundImage:leftbuttonNormal forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setTitle:@"雨松MOMO"];
self.navigationItem.backBarButtonItem = item;
UIImage *leftbuttonNormal = [leftButtonImage
stretchableImageWithLeftCapWidth:15 topCapHeight:15];
UIBarButtonItem *item = [[[UIBarButtonItem alloc]init] autorelease];
[item setBackButtonBackgroundImage:leftbuttonNormal forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[item setTitle:@"雨松MOMO"];
self.navigationItem.backBarButtonItem = item;
UIBarButtonItem setBackButtonBackgroundImage forState barMetrics example.
int imageSize = 20; //REPLACE WITH YOUR IMAGE WIDTH
UIImage *barBackBtnImg = [[UIImage imageNamed:@"NavBackButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, imageSize, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barBackBtnImg
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
UIImage *barBackBtnImg = [[UIImage imageNamed:@"NavBackButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, imageSize, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barBackBtnImg
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];