2010-06-14 94 views
0
[sld1 setThumbImage:[UIImage imageNamed:@"Blue.png"] forState:UIControlStateHighlighted]; 
[sld1 setThumbImage:[UIImage imageNamed:@"Blue.png"] forState:UIControlStateNormal  ]; 

会导致滑块图像消失吗?我的全部都没有了。 (拇指图像显示得很好。)设置thumbImage并观看滑块消失?

Apple的文档使我听起来好像我可以使用任何ONE以上两行代码。 (但我想我真的需要这两者)。

我无法找到关于“你必须经常做的所有4”任何东西:如果你开始定制与图形UISlider

Set the normal-state image. 
Set the highlighted-state image. 
Set the setMinimumTrackImage. 
Set the setMaximumTrackImage. 

回答

1

,你必须至少设置3个图形。 权和跟踪条和拇指图像的左侧:

这里是我做到了我最后一次使用的UISlider:

CGRect frame = CGRectMake(20.0f, 6.0, 280.0f, 20.0f); 
    UISlider *customSlider = [[UISlider alloc] initWithFrame:frame]; 
    [customSlider addTarget:self action:@selector(sliderMove:) forControlEvents:UIControlEventValueChanged]; 
    [customSlider addTarget:self action:@selector(sliderStart:) forControlEvents:UIControlEventTouchDown]; 
    [customSlider addTarget:self action:@selector(sliderEnd:) forControlEvents:UIControlEventTouchUpInside];   
    [customSlider addTarget:self action:@selector(sliderEnd:) forControlEvents:UIControlEventTouchUpOutside]; 

    // in case the parent view draws with a custom color or gradient, use a transparent color 
    customSlider.backgroundColor = [UIColor clearColor];  
    UIImage *stetchLeftTrack = [[UIImage imageNamed:@"slider.png"] 
           stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0]; 

    UIImage *stetchRightTrack = [[UIImage imageNamed:@"slider_right.png"] 
           stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0]; 

    [customSlider setThumbImage: [UIImage imageNamed:@"slider-knop.png"] forState:UIControlStateNormal]; 
    [customSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; 
    [customSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; 

我我的光学它没有意义有一个突出状态为UISlider或任何其他状态,您的手指可能会覆盖拇指图像,因此用户将永远不会看到它。 我不知道它只是从UIButton延伸,也许它不能处理它?

+0

“必须修改至少3张图像”:如果您使用IB或代码制作滑块,看起来像这样工作方式不同。 (我怎样才能保持这一切?) – Susanna 2010-06-14 19:26:52

+0

“改变突出状态没有意义”:我*永远*当我滑动拇指时,将拇指放在拇指上。无需。它仍然有效。所以我不想让自己的形象突然变回其他图形,因为我忘了设置高光状态。 – Susanna 2010-06-14 19:29:33

+0

你从哪里得到你的“slider_right和左PNG”图像?有没有办法找到/加载/使用已经内置到框架中的图像? (在不太可能发生的情况下,苹果将来会改变它们) 或者我必须去屏幕捕捉现有的...只是为了保存它们...并将它们包含在我的包中...然后重新加载他们? (呃,多么浪费时间。) – Susanna 2010-06-14 19:32:03