我正在使用UIAppearance
iOS 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];
(并尊重我在禁用状态下提供的图像)但不是分隔图像。有没有人遇到过这个或找到解决方案?