1

Pinterestアプリ(navigationItem.backBarButtonItem)のように、UIBarButtonItemの文字色を変えたいです。しかし、ここにほとんど同じ質問があります。 画像を使用せずに UIBarButtonItem のテキストの色を変更する簡単な方法はありますか?

では、なぜ UIBarButtonItem のテキストの色が Pinterest アプリで変更されるのでしょうか?

4

4 に答える 4

4

試すsetTitleTextAttributes:forState:

ここから詳細を学ぶことができます

于 2012-04-11T05:52:16.623 に答える
0

これを行う直接的な方法はありませんが、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 が表示されます。

于 2012-04-11T06:07:14.960 に答える
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];

お役に立てれば

于 2012-04-11T05:49:25.827 に答える
0

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];
于 2012-04-11T07:16:54.027 に答える