自定义 UISlider 图像卡住
Posted
技术标签:
【中文标题】自定义 UISlider 图像卡住【英文标题】:Custom UISlider Image Stuck 【发布时间】:2013-09-26 17:44:48 【问题描述】:为什么滑块图像会停留在加载它的位置?
这是我的代码:
for (UISlider *slider in volumeSlider.subviews)
if ([slider isKindOfClass:[UISlider class]])
[slider setMinimumTrackImage:[[UIImage imageNamed:@"sliderMax.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal ];
[slider setMaximumTrackImage:[[UIImage imageNamed:@"sliderMin.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal ];
[slider setThumbImage:[UIImage imageNamed:@"thumbSlider.png"] forState:UIControlStateNormal];
【问题讨论】:
在加载滑块后设置一个初始值可以解决问题吗? 用resizableImageWithCapInsets:
替换您对已弃用的stretchableImageWithLeftCapWidth
方法的使用。这可能会有所帮助。
不,抱歉。两种解决方案都不起作用
【参考方案1】:
好的,这就是我发现的!要解决此问题,请在 viewdidload 方法的最顶部(或基本上在对滑块进行任何其他操作之前)为您的滑块蒙皮。
完成此操作后,我发现我的自定义滑块表现正常! (在 ios 7.0.2 上测试)。
【讨论】:
【参考方案2】:我有同样的情况,卡在轨道的右端。这很烦人。但我用这段代码解决了问题:
- (CGRect)trackRectForBounds:(CGRect)bounds
return (CGRect) 0,0, bounds.size.width, bounds.size.height;
(我的自定义轨道与滑块视图大小相同)
【讨论】:
以上是关于自定义 UISlider 图像卡住的主要内容,如果未能解决你的问题,请参考以下文章