0

画像配列を取得したUISegmentedControlオブジェクトがあります。ここで、UIButtonコントロールのように、選択用と非選択用の画像を設定できる各オブジェクトを選択した後、この画像を変更したいと思います。これが私のコードです

NSArray *itemArray;
        itemArray = [NSArray arrayWithObjects:
                     [UIImage imageNamed:@"grey.png"],
                     [UIImage imageNamed:@"overlay.png"],
                     [UIImage imageNamed:@"marker.png"],
                     nil];

    segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
    [segmentedControl addTarget:self action:@selector(segmentedControlIndexChanged) forControlEvents:UIControlEventValueChanged];
4

1 に答える 1

0

iOS 5 では、選択状態と通常状態の独自の画像でセグメント コントロールをカスタマイズできます。これを試してください:

 UIImage *segmentSelected = 
[[UIImage imageNamed:@"segcontrol_sel.png"] 
    resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];
 UIImage *segmentUnselected = 
[[UIImage imageNamed:@"segcontrol_uns.png"] 
    resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];
 UIImage *segmentSelectedUnselected = 
[UIImage imageNamed:@"segcontrol_sel-uns.png"];
  UIImage *segUnselectedSelected = 
[UIImage imageNamed:@"segcontrol_uns-sel.png"];
UIImage *segmentUnselectedUnselected = 
[UIImage imageNamed:@"segcontrol_uns-uns.png"];

[[UISegmentedControl appearance] setBackgroundImage:segmentUnselected 
forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
  [[UISegmentedControl appearance] setBackgroundImage:segmentSelected 
forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

     [[UISegmentedControl appearance] setDividerImage:segmentUnselectedUnselected 
forLeftSegmentState:UIControlStateNormal 
rightSegmentState:UIControlStateNormal 
barMetrics:UIBarMetricsDefault];
 [[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected 
forLeftSegmentState:UIControlStateSelected 
rightSegmentState:UIControlStateNormal 
barMetrics:UIBarMetricsDefault];
  [[UISegmentedControl appearance] 
setDividerImage:segUnselectedSelected 
forLeftSegmentState:UIControlStateNormal 
rightSegmentState:UIControlStateSelected 
barMetrics:UIBarMetricsDefault];

また、 http: //www.raywenderlich.com/4344/user-interface-customization-in-ios-5 で完全な UI カスタマイズを確認することもでき ます。

于 2013-01-04T10:07:23.963 に答える