2010-06-14 20 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