2013-02-08 123 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