Pinterestアプリ(navigationItem.backBarButtonItem)のように、UIBarButtonItemの文字色を変えたいです。しかし、ここにほとんど同じ質問があります。 画像を使用せずに UIBarButtonItem のテキストの色を変更する簡単な方法はありますか?
では、なぜ UIBarButtonItem のテキストの色が Pinterest アプリで変更されるのでしょうか?
Pinterestアプリ(navigationItem.backBarButtonItem)のように、UIBarButtonItemの文字色を変えたいです。しかし、ここにほとんど同じ質問があります。 画像を使用せずに UIBarButtonItem のテキストの色を変更する簡単な方法はありますか?
では、なぜ UIBarButtonItem のテキストの色が Pinterest アプリで変更されるのでしょうか?
試すsetTitleTextAttributes:forState:
ここから詳細を学ぶことができます
これを行う直接的な方法はありませんが、UIBarButtonItem のカスタムビューに UIBUtton を追加することで実現できます。
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;
これにより、「Back」というテキストが赤い UIBarButtonItem が表示されます。
@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];
お役に立てれば
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];