2011-06-22 13 views
4

ナビゲーションコントローラツールバーにUISegmentedControlを追加するのは異論でしょうか?iPhone - ナビゲーションコントローラツールバーにUISegmentedControlを追加する

私はこのコードを検討しています:

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems: 
              [NSArray arrayWithObjects: 
[NSString stringWithString:NSLocalizedString(@"One", @"")], 
[NSString stringWithString:NSLocalizedString(@"Two", @"")], 
[NSString stringWithString:NSLocalizedString(@"Three", @"")], 
[NSString stringWithString:NSLocalizedString(@"Four", @"")], 
nil]]; 

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
segmentedControl.tintColor = [UIColor blackColor]; 

[segmentedControl setSelectedSegmentIndex:0]; 


[segmentedControl addTarget:self action:@selector(changeSegment:) 
       forControlEvents:UIControlEventValueChanged]; 

[segmentedControl setFrame:[self.navigationController.toolbar bounds]]; 

[self.navigationController.toolbar addSubview:segmentedControl]; 
[segmentedControl release]; 

私はこのコードを試してみましたが、私はそれらを触れると、セグメントが選択されるように表示されません。

これは正しい方法ですか?

ありがとうございました。

+0

コードありがとうございます。 – OthmanT

答えて

2

これは、あなたのtintColorが黒である可能性が高いためです。色を変更すると、選択したセグメントが反映されているはずです。

+0

duuuuhhh!明らかに!ありがとう。しかし、ナビゲーションコントローラのツールバーにsegmentedControlを追加しても問題ありませんか? – SpaceDog

+1

いいですね。数多くのアプリがナビバー/ツールバーをカスタマイズしています。あなたは、その点で最も確実に一人ではありません。 – hundreth

+1

アプリストアの上位25には、segmentedControlがあります。リンゴが自分のルールを破らない限り、それはうまくいくはずです:P –

関連する問題