4

所以我有这段代码可以创建一个自定义 UISlider 。在 IOS 6 之前它工作正常。在 IOS 6 中,图像不显示,它显示默认滑块。有人可以解释为什么会这样吗?

[sliderFPS setMinimumTrackImage:[[UIImage imageNamed:@"camera_slider_empty.png"] stretchableImageWithLeftCapWidth:8 topCapHeight:0]
                       forState:UIControlStateNormal];
[sliderFPS setMaximumTrackImage:[[UIImage imageNamed:@"camera_slider_full.png"] stretchableImageWithLeftCapWidth:8 topCapHeight:0]
                       forState:UIControlStateNormal];

[sliderFPS setThumbImage:[UIImage imageNamed:@"camera_fps_slider_button"]      
                forState:UIControlStateNormal];
4

2 回答 2

7

我希望这个文件会有所帮助..

因为在 iOS 5 中不推荐使用以下方法。

 - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

根据您的代码,使用这一行而不是前两行。

[sliderFPS setMinimumTrackImage:[[UIImage imageNamed:@"camera_slider_empty.png"] resizableImageWithCapInsets:UIEdgeInsetsFromString(@"8")]
                       forState:UIControlStateNormal];
[sliderFPS setMaximumTrackImage:[[UIImage imageNamed:@"camera_slider_full.png"] resizableImageWithCapInsets:UIEdgeInsetsFromString(@"8")]
                       forState:UIControlStateNormal];
于 2012-09-21T12:21:50.170 回答
3

stretchableImageWithLeftCapWidth:topCapHeight:在 iOS 5 中已resizableImageWithCapInsets:弃用

于 2012-09-21T12:17:41.483 回答