iOS6 中的 UISlider 自定义问题

Posted

技术标签:

【中文标题】iOS6 中的 UISlider 自定义问题【英文标题】:UISlider customization issue in iOS6 【发布时间】:2013-01-26 14:33:32 【问题描述】:

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

我尝试在创建图像时添加stretchableImageWithLeftCapWidth: 20 topCapHeight: 0]; 使图像可拉伸,但结果更糟,或多或少当拇指按钮达到 LeftCapWidth 大小时,图像从 MinimumTrackImage 切换到 最大跟踪图像。我找到的解决方案是对 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];

【问题讨论】:

【参考方案1】:

使用resizableImageWithCapInsets:<#(UIEdgeInsets)#> 代替stretchableImageWithLeftCapWidth:<#(NSInteger)#> topCapHeight:<#(NSInteger)#> 它会解决你的问题

【讨论】:

以上是关于iOS6 中的 UISlider 自定义问题的主要内容,如果未能解决你的问题,请参考以下文章

.xib 中的垂直 UISlider 用于自定义类?

如何自定义 UISlider 以使步骤可见

自定义 UISlider 不会结束

如何在 iOS 中自定义 MPVolumeView?

如何创建自定义 UISlider

修改自定义 UISlider