2012-04-11 66 views
1

我想更改UIBarButtonItem的文本颜色,例如Pinterest应用(navigationItem.backBarButtonItem)。 但这里的问题几乎相同。 Is there an easy way to change the text color of a UIBarButtonItem without using an image?有什么方法可以改变UIBarButtonItem的文字颜色吗?

那么,为什么UIBarButtonItem的文本颜色在Pinterest应用中更改?

+0

Finaly,我想改变UINavigationBar的的buckButtonItem的文本颜色UINavigationContoroller。 – 2012-04-11 08:13:02

回答

0
@interface MyViewCOontroller : UIViewController { 
    UILabel *lblTotCaratteri; 
    } 

在实施

UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; 
lblTotCaratteri = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 25, 15)]; 
lblTotCaratteri.textAlignment = UITextAlignmentCenter; 

lblTotCaratteri.textColor =[UIColor greyColor]; 

希望这有助于

4

尝试setTitleTextAttributes:forState:

您可以了解更多从here

0

我不这样做的直接方式,但您可以通过向t添加UIBUtton来实现此目的他是UIBarButtonItem的customview。

UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
backButton.frame  = CGRectMake(0, 0, 80, 40); 
[backButton setBackgroundImage:[UIImage imageNamed:@"back-button.png"] forState:UIControlStateNormal];// Setting the background Image 
[backButton setTitle:@"Back" forState:UIControlStateNormal];//Setting the title of the button 
[backButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];// Setting the text color. 
[backButton addTarget:self action:@selector(backButtonTaped) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backButton]; 

self.navigationItem.leftBarButtonItem = backButtonItem; 

而这会给你一个UIBarButtonItem和红色的文字“Back”。

+0

Naveen,tintColor影响整个按钮,问题是关于仅改变文本。 – infiniteloop 2012-04-11 06:09:35

+0

:)对不起我的笨拙 – superGokuN 2012-04-11 06:59:28

+0

编辑我的答案:D – superGokuN 2013-01-17 08:21:48

0

您可以使用UISegmentedControl来模拟UIBarButtonItem。确保您拥有单个细分受众群的细分受众群。

- (void) viewDidLoad { 
    [YOUR_SEGMENTED_CONTROL removeAllSegments]; 
    [YOUR_SEGMENTED_CONTROL insertSegmentWithTitle:@"MyButton" atIndex:0 animated:NO]; 
} 

检索UISegmentedControl的标签和文字颜色设置为你喜欢的颜色

UILabel* lblText = [[[[YOUR_SEGMENTED_CONTROL subviews] objectAtIndex:0] subviews] objectAtIndex:0]; 
lblText.textColor = [UIColor blackColor]; 
相关问题