0
我正在開發一款iPad應用程序,需要在UISlider中選擇特定的數據區間。滑塊應該有兩個滑塊按鈕,控制器也應該允許間隔的移動,即兩個滑塊按鈕之間的區域選擇data.Is的其他時間間隔也可用來處理this.Looking着您的想法任何自定義UI滑塊...... 預先感謝創造UISlideriPhone的定製UISlider
第一種方式
創建
我正在開發一款iPad應用程序,需要在UISlider中選擇特定的數據區間。滑塊應該有兩個滑塊按鈕,控制器也應該允許間隔的移動,即兩個滑塊按鈕之間的區域選擇data.Is的其他時間間隔也可用來處理this.Looking着您的想法任何自定義UI滑塊...... 預先感謝創造UISlideriPhone的定製UISlider
第一種方式
創建
兩種方式Ø ne編程的UISlider。
現在您可以根據需要設置圖像。
下面是對UISlider把圖像的代碼..
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 30.0)];
[slider setColorPicker:colorPicker];
[slider setUseCustomSlider:NO];
[slider setThumbImage:[UIImage imageNamed:@"thumbSlider.png"] forState:UIControlStateNormal];
[slider setThumbImage:[UIImage imageNamed:@"thumbSlider.png"] forState:UIControlStateHighlighted];
[slider setMinimumTrackImage:[[UIImage imageNamed:@"grey_slide.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:0] forState:UIControlStateNormal];
[slider setMaximumTrackImage:[[UIImage imageNamed:@"blue_slide.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:0] forState:UIControlStateNormal];
[self.view addSubview:slider];
用於創建自定義滑塊
現在再創建一個滑塊,只有通過UIPanGestureRecognizer兩幅圖像的新思路。
在上面添加兩個圖像。一個像條狀,另一個像拇指圖像。
這是代碼。
創建滑塊第一..
UIImageView *imageback = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 47)] autorelease];
imageback.image = [UIImage imageNamed:@"strip.png"];
imageback.backgroundColor = [UIColor clearColor];
[sliderView addSubview:imageback];
sliderImg = [[[UIImageView alloc] initWithFrame:CGRectMake(147.5, 27, 25, 25)] autorelease];
sliderImg.contentMode = UIViewContentModeScaleToFill;
sliderImg.image = [UIImage imageNamed:@"dot.png"];
sliderImg.backgroundColor = [UIColor clearColor];
sliderImg.userInteractionEnabled = YES;
[sliderView addSubview:sliderImg];
立即申請UIPanGestureRecognizer打點形象..
UIPanGestureRecognizer *panGestureImg = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panDetectedSlider:)];
[sliderImg addGestureRecognizer:panGestureImg];
[panGestureImg release];
平移手勢方法。
-(void)panDetectedSlider:(UIPanGestureRecognizer *)panRecognizer
{
if ([panRecognizer state] == UIGestureRecognizerStateBegan)
{
//Start
}
else if([panRecognizer state] == UIGestureRecognizerStateChanged)
{
//Change
CGPoint translation = [panRecognizer translationInView:sliderImg];
CGPoint imageViewPosition = sliderImg.center;
imageViewPosition.x += translation.x;
sliderImg.center = imageViewPosition;
[panRecognizer setTranslation:CGPointZero inView:sliderImg];
}
else if([panRecognizer state] == UIGestureRecognizerStateCancelled || [panRecognizer state] == UIGestureRecognizerStateFailed || [panRecognizer state] == UIGestureRecognizerStateEnded)
{
//End
}
}