2013-02-08 121 views
2

如何使用barmetrics在iOS中无文字的情况下自定义后退按钮?在IOS中自定义后退按钮

我想要做的东西像http://a397.phobos.apple.com/us/r1000/081/Purple/v4/e6/be/2d/e6be2d9e-dc95-7e44-b1ed-9386fa9f4d02/mzl.zwjkpepo.320x480-75.jpg

+0

这是一个经常被问到的问题!退房:http://www.verious.com/component/custom-back-button/ http://stackoverflow.com/questions/9300503/make-a-custom-back-button-for-uinavigationcontroller – 2013-02-08 18:52:56

回答

7
[[UIBarButtonItem appearance] 
      setBackButtonBackgroundImage:[UIImage imageNamed:@"back_button.png"] 
      forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

你可以放置在您的应用程序委托,它会设置背景图片的所有后退按钮的应用程序(用于控制状态和酒吧的指标,当然)。

编辑: 如果你想要一些不同的东西,然后使用此代码:

- (void)setBackButton 
{ 
    UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [backButton setImage:[UIImage imageNamed:@"BackButton.png"] forState:UIControlStateNormal]; 
    [backButton addTarget:self action:@selector(backButtonTapped:) forControlEvents:UIControlEventTouchUpInside];[button setFrame:CGRectMake(0, 0, 32, 32)]; 

    self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:backButton] autorelease]; 
} 

- (void)backButtonTapped:(id)sender 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
+0

你试过它? 我试过了。图像即将到来,但其采取后退按钮的全尺寸而不是图像大小。 “返回”也显示:( – 2013-02-08 18:59:48

+0

你可以使用第二种方法,为此你可以在google上找到这么多的解决方案。 – 2013-02-08 19:11:59

+0

请点击此链接http://stackoverflow.com/questions/1998438/custom-back-button-image -on-the-navigation-bar-doesnt-work-iphone-sdk – 2013-02-08 19:14:13

0

如何像这样的东西?

UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(YourFrame)]; 

[backButton setTitle:@"<" forState:UIControlStateNormal]; 

[backButton addTarget:self action:@selector(callSelectorMethod) forControlEvents:UIControlEventTouchUpInside]; 

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:backButton] autorelease]; 

[backButton release],backButton=nil; 
0

这里是解决方案:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [button setImage:[UIImage imageNamed:@"BackButton.png"] forState:UIControlStateNormal]; 
    [button addTarget:self action:@selector(popBack) forControlEvents:UIControlEventTouchUpInside]; 
    [button setFrame:CGRectMake(0, 0, 32, 32)]; 
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; 

由于Best Coder