2012-05-24 64 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; 
相关问题