uisegmentedcontrolはデバイスに最初のアイテムのみを表示しますが、シミュレータで動作します

StackOverflow https://stackoverflow.com/questions/6820692

質問

uisegmentededcontrolアイテムをナビゲーションバーボタンアイテム(右のバーボタン)に追加する方法を把握していることを検索しました。シミュレータでは正常に動作しますが、デバイスで試してみると、セグメント化されたコントロールの最初のアイテムのみが表示されます。それは完全な長さを占有します(つまり、全体に1つのセグメントしかありません)。

- (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];

}

何が悪いのかという考えはありますか?

役に立ちましたか?

解決

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

デバイスはケースに敏感で、名前が一致しない場合、 imageNamed: 戻ります nil 配列の終了。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top