0

私は を持っていてUISegmentedControl、分割画像を設定しようとしています。画像は黒で、幅は約 2px です。

UIImage *divider = [UIImage imageNamed:@"ZSDivider.png"];
[self.segmentedControl setDividerImage:divider forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.segmentedControl setDividerImage:divider forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.segmentedControl setDividerImage:divider forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

ディバイダーに凝ったものは何も欲しくありませんでした。すべての状態に黒い線が必要でしたが、まったく表示されません。

私が間違っていたアイデアはありますか?

4

2 に答える 2

1

仕切りの画像は、セグメント化されたコントロールと同じ高さですか? 私が正しく思い出すと、仕切りがコントロールの高さと一致しない場合、UISegmentedControl に問題が発生します。

于 2012-11-01T01:20:52.777 に答える
0

divider" " と " self.segmentedControl" が null でないことを確認しましたか?

これは、エラー チェックの絶好の機会のようです。

UIImage *divider = [UIImage imageNamed:@"ZSDivider"];
if(divider)
{
    if(self.segmentedControl)
    {
        [self.segmentedControl setDividerImage:divider forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
        [self.segmentedControl setDividerImage:divider forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
        [self.segmentedControl setDividerImage:divider forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
    } else {
        NSLog( @"segmentedControl is NULL");
    }
} else {
    NSLog( @"divider image is NULL");
}
于 2012-11-01T00:53:39.277 に答える