Objective c UISegmentedControl分割器图像未显示

Objective c UISegmentedControl分割器图像未显示,objective-c,ios,cocoa-touch,uisegmentedcontrol,Objective C,Ios,Cocoa Touch,Uisegmentedcontrol,我有一个UISegmentedControl,我正在尝试设置分割图像。图像为黑色,约2倍宽 UIImage *divider = [UIImage imageNamed:@"ZSDivider.png"]; [self.segmentedControl setDividerImage:divider forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMet

我有一个
UISegmentedControl
,我正在尝试设置分割图像。图像为黑色,约2倍宽

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];
我不想要任何花哨的分割线,只是每个州都有一条黑线,但它根本没有出现

你知道我做错了什么吗?

你确定“
分隔符”和“
self.segmentedControl
”不为空吗

这看起来是进行错误检查的绝佳机会:

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");
}

分割图像的高度是否与分割控件的高度相同?如果我没记错的话,UISegmentedControl在分隔器与控件高度不匹配时会出现问题。

没有,一切正常。奇怪的是,当我点击了几个片段后,分隔符终于显示出来了,但只在中间和右边的片段之间。