私はiPhone開発に不慣れです。 2つのセグメントを持つUISegmentedControlを作成しました。タイトルではなく、セグメントごとに画像を表示したい。これが私のコードです
NSArray *itemArray = [NSArray arrayWithObjects: @"segment1", @"segment2", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
segmentedControl.frame = CGRectMake(5,100,300,40);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.selectedSegmentIndex = 1;
[self.view addSubview:segmentedControl];
[segmentedControl release];
ただし、タイトル、segment1、segment2を表示する代わりに、私が持っている画像に置き換える必要があります。
それはあなたが持っていたものとほぼ同じで、NSStringsの代わりにUIImagesの配列を渡すだけです。
NSArray *itemArray = [NSArray arrayWithObjects:
[UIImage imageNamed:@"segment1.png"],
[UIImage imageNamed:@"segment2.png"],
nil];
実行時にイメージを変更する場合は、次の方法を使用します。
- (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment
例えば。:
[segmentedControl setImage:[UIImage imageNamed:@"segment1.png"] forSegmentAtIndex:0];
Interface Builder(Attributes Inspectorタブ)で簡単に実行できます。
また、1つのセグメントを画像で設定し、もう1つのセグメントをテキストで設定することもできます。
ハッピーxCoding! )
Xcode 4.6.3では、セグメントコントロールに画像を追加するオプションがInterfaceBuilderにあります。