Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于iPhone的自定义UISlider_Iphone_Ios_Ipad_Ios5_Ios4 - Fatal编程技术网

用于iPhone的自定义UISlider

用于iPhone的自定义UISlider,iphone,ios,ipad,ios5,ios4,Iphone,Ios,Ipad,Ios5,Ios4,我正在为iPad开发一个应用程序,它需要在UISlider中选择特定的数据间隔。滑块应该有两个滑块按钮,此外,控件应允许移动间隔,即两个滑块按钮之间的区域,以选择其他数据间隔。是否有任何自定义UI滑块可用于处理此问题。期待您的想法… 提前感谢创建UISlider的两种方法 第一条路 从编程中创建一个UISlider 现在,您可以根据需要在其上设置图像 下面是在UISlider上放置图像的代码 UISlider *slider = [[UISlider alloc] initWithFrame:C

我正在为iPad开发一个应用程序,它需要在UISlider中选择特定的数据间隔。滑块应该有两个滑块按钮,此外,控件应允许移动间隔,即两个滑块按钮之间的区域,以选择其他数据间隔。是否有任何自定义UI滑块可用于处理此问题。期待您的想法…
提前感谢创建UISlider的两种方法

第一条路

从编程中创建一个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];
创建自定义滑块的另一种方法

现在,仅通过UIPangestureRecognitor使用两个图像再创建一个滑块

在上面添加两个图像。一个像条纹,另一个像拇指图像

这是代码

首先创建滑块

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];
现在将UIPangestureRecognitor应用于点图像

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
    }
}

创建UISlider的两种方法

第一条路

从编程中创建一个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];
创建自定义滑块的另一种方法

现在,仅通过UIPangestureRecognitor使用两个图像再创建一个滑块

在上面添加两个图像。一个像条纹,另一个像拇指图像

这是代码

首先创建滑块

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];
现在将UIPangestureRecognitor应用于点图像

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
    }
}