我有一个自定义UISlider,但在iOS 6中,setMinimumTrackImage存在问题,可以看到它被调整了大小,而不是像iOS 5和4那样被裁剪。

我尝试过在创建图像时通过添加stretchableImageWithLeftCapWidth: 20 topCapHeight: 0];使图像具有可拉伸性,但是结果甚至更糟,当拇指按钮达到LeftCapWidth大小时,图像会从MinimumTrackImage切换到
MaximumTrackImage。我发现的解决方案是对MinimumTrackImage使用透明的png,并将实际的MinimumTrackImage作为bgcolor使用。

我想知道是否有人遇到过这个问题,以及他是否有适当的方法来解决。提前致谢。

码:

maxImage=[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:maxImageName ofType:@"png"]];
minImage=[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:minImageName ofType:@"png"]];

[_scaleSlider setMinimumTrackImage:minImage forState:UIControlStateNormal];
[_scaleSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal];

最佳答案

使用resizableImageWithCapInsets:<#(UIEdgeInsets)#>而不是stretchableImageWithLeftCapWidth:<#(NSInteger)#> topCapHeight:<#(NSInteger)#>它将解决您的问题

07-26 09:28