14

我在navigationcontroller推新視圖控制器時改變我的後退按鈕。但它看起來不錯,並且延伸。另外,如何刪除後退按鈕中的「新聞」標題? 這是我的代碼。看到圖像的UIBarButtonItem外觀和setBackButtonBackgroundImage

screen shoot

而且代碼

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

我想要實現這樣的http://i228.photobucket.com/albums/ee262/romano2717/photo4.png

+0

同樣的問題,你有沒有想出解決辦法?我現在正在經歷同樣的問題...... – Vlad 2013-06-09 01:17:42

回答

0

除非我失去了一些東西,你必須在代碼中創建的UIBarButtonItem刪除或更改標題,所以它僅適用於視圖控制器你把代碼:

UIBarButtonItem *myBackButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back_button.png"] style:UIBarButtonItemStyleBordered target:nil action:nil]; 
self.navigationItem.backBarButtonItem = myBackButton; 
[myBackButton release]; 

爲什麼你的代碼貼出這樣工作是因爲它只是設置背景和文檔確實狀態的原因:

對於良好的效果,將backgroundImage必須是可伸縮的圖像。

0

您可以創建自定義按鈕並將其添加爲條形按鈕以消除拉伸。或者你可以得到後退按鈕大小的圖形。

要刪除按鈕的標題,您必須在viewWillDisappear方法中設置self.title = "";,並在viewWillAppear方法中再次設置標題。

希望這可以解決您的問題。

+0

當我添加此代碼後,按下新的viewcontroller後導航按鈕後退出。 – Diffy 2012-01-12 09:01:07

-3

下面的代碼將從後退按鈕中刪除標題。

UIBarButtonItem *theBackButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:@selector(yourAction)]; 
    [[UIBarButtonItem appearance] setBackBarButtonItem:theBackButton];  
    [theBackButton release]; 
+4

這種崩潰,' - [_ UIBarItemAppearance setBackBarButtonItem:]:無法識別的選擇發送到實例0x208448d0'在6.0.1 – Cyrille 2012-12-12 08:47:51

+1

同樣的問題....這....崩潰,但 – TheTiger 2013-02-16 07:58:57

18

使用以下代碼將圖像置於適當位置。

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]; 

您可以使用resizableImageWithCapInsets指定哪些像素不應拉伸。如果你把你的圖像寬度放在那裏,它不會拉伸你的圖像。

你不必把它放在.m文件BTW。 (你可以使用appDelegate.m文件)確保它在NavigationBar被繪製之前被調用。

+2

後退按鈕標題創設問題...如何隱藏這個 ??? – TheTiger 2013-02-16 08:01:59

+0

任何想法如何刪除標題? – ArdenDev 2013-04-04 14:24:46

+0

當然:[[self navigationItem] setTitle:nil]; – Tieme 2013-04-05 12:51:39

0

使用youparentViewController.title = @」「; 我也有標題爲

相關問題