我想更改 UIBarButtonItem 的文本颜色,例如 Pinterest 应用程序(navigationItem.backBarButtonItem)。但这里几乎是同样的问题。 有没有一种简单的方法可以在不使用图像的情况下更改 UIBarButtonItem 的文本颜色?
那么,为什么 UIBarButtonItem 的文本颜色在 Pinterest 应用程序中会发生变化?
我想更改 UIBarButtonItem 的文本颜色,例如 Pinterest 应用程序(navigationItem.backBarButtonItem)。但这里几乎是同样的问题。 有没有一种简单的方法可以在不使用图像的情况下更改 UIBarButtonItem 的文本颜色?
那么,为什么 UIBarButtonItem 的文本颜色在 Pinterest 应用程序中会发生变化?
尝试setTitleTextAttributes:forState:
您可以从这里了解更多信息
您可以使用 UISegmentedControl 来模拟 UIBarButtonItem。确保您有一个带有单段的段控件。
- (void) viewDidLoad {
[YOUR_SEGMENTED_CONTROL removeAllSegments];
[YOUR_SEGMENTED_CONTROL insertSegmentWithTitle:@"MyButton" atIndex:0 animated:NO];
}
检索 UISegmentedControl 的标签并将 textColor 设置为您喜欢的颜色
UILabel* lblText = [[[[YOUR_SEGMENTED_CONTROL subviews] objectAtIndex:0] subviews] objectAtIndex:0];
lblText.textColor = [UIColor blackColor];
@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];
希望这可以帮助
我不是这样做的直接方法,但您可以通过将 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”。