2011-08-30 126 views
2

如何在iPhone中的自定义滑块中创建滑块。目前我使用的“厦门国际银行”(Interface Builder中)选择的滑块,但它显示了我正常slider.But我需要滑块与我自己的按钮和显示文本如何创建滑块?

定制幻灯片来启动

我该如何做到这一点,请帮助我。

+0

可能重复的[UISlider,滑动解锁](http://stackoverflow.com/questions/816891/uislider-slide-to-开锁) –

回答

0

可以完成这样

UISlider *mySlider; 
mySlider = [[UISlider alloc]init]; 
/* Slider Customization */ 
[mySlider setThumbImage:[UIImage imageNamed:@"yourimage.png"] forState:UIControlStateNormal]; 
/*the above line will sets a custom image for your slider ball i.e; thumb image*/ 

/* the below code will make your slider line custom */ 
UIImage *sliderLeftTrackImage = [[UIImage imageNamed: @"lineImage.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0]; 
UIImage *sliderRightTrackImage = [[UIImage imageNamed: @"lineImage.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0]; 

[mySlider setMinimumTrackImage: sliderLeftTrackImage forState: UIControlStateNormal]; 
[mySlider setMaximumTrackImage: sliderRightTrackImage forState: UIControlStateNormal]; 
/* end of Slider Customization */ 
[mySlider release]; 
0

您将需要使用可拉伸的图像进行定制,并用以下方法加载它们:

setMinimumTrackImage:forState: 
setMaximumTrackImage:forState: 
setThumbImage:forState: 

最小的轨迹图像是左边的部分的拇指(默认为蓝色),最大的轨道图像在右侧。

下面是定制为例:

UIImage *minimumTrackImage = [UIImage imageNamed:@"sliderMin.png"]; 
UIImage *stretchableMinimumTrackImage = [minimumTrackImage stretchableImageWithLeftCapWidth:6 topCapHeight:6]; 
[slider setMinimumTrackImage:stretchableMinimumTrackImage forState:UIControlStateNormal]; 

UIImage *maximumTrackImage = [UIImage imageNamed:@"sliderMax.png"]; 
UIImage *stretchableMaximumTrackImage = [maximumTrackImage stretchableImageWithLeftCapWidth:6 topCapHeight:6]; 
[slider setMaximumTrackImage:stretchableMaximumTrackImage forState:UIControlStateNormal]; 

UIImage *handle = [UIImage imageNamed:@"sliderHandle.png"]; 

[slider setThumbImage:handle forState:UIControlStateNormal]; 
0
UISlider *objslider = [[UISlider alloc] initWithFrame:CGRectMake(14, 249, 290, 22)]; 

UIImage *stetchLeftTrack = [[UIImage imageNamed:@"slider_fill.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0]; 

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

[objslider setThumbImage: [UIImage imageNamed:@"slider_ball.png"]forState:UIControlStateNormal]; 

[objslider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; 

[objslider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; 

objslider.minimumValue = 0.0; 

objslider.maximumValue = 100.0; 

objslider.continuous = YES; 

objslider.value = 0.0; 

[self.view addSubview:objslider];