2012-05-24 61 views
4

我需要爲自定義UIBarButtonItem設置標題。爲自定義UIBarButtonItem設置文本

我有下面的代碼:

UIButton* backToRecent = [UIButton buttonWithType:UIButtonTypeCustom]; 
[backToRecent setImage:[UIImage imageNamed:@"back.png"]forState:UIControlStateNormal]; 

[backToRecent addTarget:self action:@selector(backToRecent) forControlEvents:UIControlEventTouchUpInside]; 
[backToRecent setFrame:CGRectMake(0, 0, 60, 30)]; 

UIBarButtonItem* backButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backToRecent]; 
[backButtonItem setTitle:@"Recent"]; 
partViewController.navigationItem.leftBarButtonItem = backButtonItem; 
[backButtonItem release]; 

但出現的一個按鈕「最近」的文字。

+2

嘗試使用這一個:partViewController.navigationItem。 leftBarButtonItem.title = @「最近」; –

回答

6

你應該在UIButton的,不是的UIBarButtonItem

[backToRecent setTitle:@"Recent" forState:UIControlStateNormal]; 

設置標題,它是不好使的變量和方法的同名

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

它是行不通的,因爲你用

[backToRecent setImage:[UIImage imageNamed:@"back.png"]forState:UIControlStateNormal]; 

嘗試使用

[backToRecent setBackgroundImage:[UIImage imageNamed:@"back.png"]forState:UIControlStateNormal]; 
+0

我也試過這個,但不行! –

+0

嘗試更多以上。 – adali

15

穆罕默德,我懷疑你已經解決了這個問題,但這是一個簡單的方法。希望這可以幫助那些正在努力解決同一問題的人:

UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Recent" style:UIBarButtonItemStyleBordered target:self action:@selector(backToRecent)]; 
    self.navigationItem.leftBarButtonItem = backButtonItem; 
相關問題