0

UISegmentedControlアイテムをナビゲーションバーのボタンアイテム(右のバーボタン)に追加する方法を検索しました。シミュレータで正常に動作しますが、デバイス上で試してみると、セグメント化されたコントロールの最初の項目だけが表示されます。それは全長を占める(すなわち、全体にわたって1つのセグメントしかない)。UISegmentedControlはデバイス上の最初のアイテムしか表示しませんが、Simulatorで動作します

- (void) setupSegmentedControl { 
//set up the segmented control and add it to the nav bar rightBartButtonItem 
UISegmentedControl * segmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray   arrayWithObjects:[UIImage imageNamed:@"Settings.png"],[UIImage imageNamed:@"Map-Icon.png"],[UIImage imageNamed:@"Search.png"], nil]]; 
UIBarButtonItem * segmentControlButton = [[UIBarButtonItem alloc] initWithCustomView:segmentControl]; 
[segmentControl setBackgroundColor:[UIColor clearColor]]; 
segmentControl.segmentedControlStyle = UISegmentedControlStyleBar; 
segmentControl.frame = CGRectMake(0, 0, 75, 30); 
[segmentControl setMomentary:YES]; 
[segmentControl addTarget:self 
        action:@selector(segmentedControlAction:) 
     forControlEvents:UIControlEventValueChanged]; 
self.navigationItem.rightBarButtonItem = segmentControlButton; 
[segmentControl release]; 

} 

何が問題になりますか?

答えて

2

イメージファイル名が大文字/小文字を含むプロジェクトのリソース名と正確に一致することを確認してください。

このデバイスでは大文字と小文字が区別され、名前が一致しない場合、imageNamed:はアレイを終了するnilを返します。

関連する問題