我正在使用UIAppearanceiOS 5 中的新 API 来设置UISegmentedControl自定义图形的样式。我需要能够在执行期间将某些段设置为有时禁用,但这些UIAppearance方法似乎不允许我为UIControlStateDisabled状态设置分隔符图像。
我打电话给:
[[UISegmentedControl appearance] setDividerImage:disabledSelectedImage
forLeftSegmentState:UIControlStateDisabled
rightSegmentState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
disabledSelectedImage此资源中可调整大小的图像在哪里:

然而,当我将左段设置为禁用([UISegmentedControl setEnabled:forSegmentAtIndex:])时,结果是这样的:

您可以清楚地看到UISegmentedControl默认使用UIControlStateNormal-UIControlStateNormal分隔线图像。
使用设置背景图像对我来说似乎非常高兴UIControlStateDisabled
[[UISegmentedControl appearance] setBackgroundImage:disabledImage
forState:UIControlStateDisabled
barMetrics:UIBarMetricsDefault];
(并尊重我在禁用状态下提供的图像)但不是分隔图像。有没有人遇到过这个或找到解决方案?

