【问题标题】:Custom UISlider Image Stuck自定义 UISlider 图像卡住
【发布时间】: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 方法的使用。这可能会有所帮助。
  • 不,抱歉。两种解决方案都不起作用

标签: ios ios7 uislider


【解决方案1】:

好的,这就是我发现的!要解决此问题,请在 viewdidload 方法的最顶部(或基本上在对滑块进行任何其他操作之前)为您的滑块蒙皮。

完成此操作后,我发现我的自定义滑块表现正常! (在 iOS 7.0.2 上测试)。

【讨论】:

    【解决方案2】:

    我有同样的情况,卡在轨道的右端。这很烦人。但我用这段代码解决了问题:

    - (CGRect)trackRectForBounds:(CGRect)bounds {
        return (CGRect) {0,0, bounds.size.width, bounds.size.height};
    }
    

    (我的自定义轨道与滑块视图大小相同)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多