iphone - UISlider 自定义图像和拇指高度?

标签 iphone ios uislider

我正在创建(或尝试)自定义 UISlider 外观,仍然是水平的,但要高得多。我有两个问题。

1.这是我用来将图像放到 slider 上的代码。

UIImage *minImage = [UIImage imageNamed:@"sliderMin.png"];
UIImage *maxImage = [UIImage imageNamed:@"sliderMax.png"];
UIImage *thumbImage = [UIImage imageNamed:@"sliderThumb.png"];

minImage = [minImage stretchableImageWithLeftCapWidth:33.0 topCapHeight:0.0];
maxImage = [maxImage stretchableImageWithLeftCapWidth:33.0 topCapHeight:0.0];
// thumbImage = [minImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];

[_contrastSlider setMinimumTrackImage:minImage forState:UIControlStateNormal];
[_contrastSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal];
[_contrastSlider setThumbImage:thumbImage forState:UIControlStateNormal];

minImage = nil;
maxImage = nil;
thumbImage = nil;

[_contrastSlider setMinimumValue:0.0];
[_contrastSlider setMaximumValue:100.00];
[_contrastSlider setValue:25.0];

我有三个图像,最小,最大和拇指。这些是图像以及它们在设备上的外观,这是不正确的。

我还不能发布图片,所以这里是 link to MYSlider.jpeg 它显示了组件。

slider 应在拇指右侧为奶油色,左侧为粉红色。但这并没有发生。

那是问题1。问题2是拇指大小默认值太小。我正在使用这个:UISlider Height Hack试图增加拇指的高度,但遗憾的是它使它更宽而不是更高。所以我正在寻求帮助以使该区域更高,而不是更宽,并且想知道为什么我的粉红色图像被忽略了?

感谢您的任何帮助。

如果有帮助,这是我的 UISlider 子类 .m:
-(BOOL) pointInside:(CGPoint)point withEvent:(UIEvent*)event {
CGRect bounds = self.bounds;
bounds = CGRectInset(bounds, -10, -8);
return CGRectContainsPoint(bounds, point);

}
-(BOOL) beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event {
  CGRect bounds = self.bounds;
  float thumbPercent = (self.value - self.minimumValue) / (self.maximumValue - self.minimumValue);
  float thumbPos = THUMB_SIZE + (thumbPercent * (bounds.size.width - (2 * THUMB_SIZE)));
  CGPoint touchPoint = [touch locationInView:self];
  return (touchPoint.x >= (thumbPos - EFFECTIVE_THUMB_SIZE) && touchPoint.x <= (thumbPos + EFFECTIVE_THUMB_SIZE));
}

谢谢你。

最佳答案

事实证明,在 View 中设置我的 slider 值确实加载方法导致了问题。我将它们设置在 Interface Builder 中,并且已修复。一旦在 IB 中设置,如果需要没有问题,我可以在代码中调整它们。

至于我的另一个问题,我想知道这是否是因为我没有在实际设备上进行测试,所以我将暂停这个问题,直到几周后我在设备上得到它。

关于iphone - UISlider 自定义图像和拇指高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10311996/

相关文章:

iPhone 范围 slider

iphone - 调试/发布版本之间的 iOS 精度差异会扰乱 View 吗?

iphone - 推送 UIViewController 时如何更改 TabBarItens?

ios - 从字符串中提取 NSDecimalNumber 以及其中的字符

ios - 如何使 UISlider 具有离散间隔?例如间隔 5000

ios - VoiceOver - 不要说出 UISlider 的位置

iphone .png 图像未显示在设备中

ios - Xcode 8 消息模板应用程序 : Error on iOS Simulator

ios - 带有滑动和页面控制的图片幻灯片

ios - MVVM UITableViewCell 返回 nil