iphone/ipad 自定义 UISlider 控制器

Posted

技术标签:

【中文标题】iphone/ipad 自定义 UISlider 控制器【英文标题】:iphone/ipad custom UISlider controller 【发布时间】:2011-01-27 13:12:48 【问题描述】:

在这里我想创建一个自定义的uislider,它类似于媒体播放器向前和向后,即以特定时间间隔以编程方式移动滑块。

例如,考虑我有一个视频,我需要为控制器实现滑块以向前和向后移动视频内容。

任何示例和教程。

谢谢....

【问题讨论】:

【参考方案1】:

这是一个可以像moviePlayerController一样用作进度条的代码

希望这段代码对你有所帮助

// .M 

@property (nonatomic,strong)UISlider *slider1;

- (void)viewDidLoad

    [super viewDidLoad];

    slider1 = [[UISlider alloc] initWithFrame:CGRectMake(10, 400, 300,30)];

    [slider1 setBackgroundColor:[UIColor clearColor]];
    slider1.maximumValue =  1.0;
    slider1.minimumValue = 0.0;
    slider1.continuous = YES;
    [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(updateSlider1) userInfo:nil repeats:YES];
    [slider1 addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:slider1];
    [self.view bringSubviewToFront:slider1];


// this method seek video

-(void)sliderAction:(id)sender

    float currentValue,TotalValue;
    float value;
    currentValue = self.moviePlayerController.currentPlaybackTime;
    TotalValue = self.moviePlayerController.duration;

    value =self.moviePlayerController.currentPlaybackTime = slider1.value * TotalValue;




// Update slider value after each 0.2 sec 
- (void)updateSlider1 


    float currentValue,TotalValue;
    float value;
    currentValue = self.moviePlayerController.currentPlaybackTime;
    TotalValue = self.moviePlayerController.duration;

   value = (currentValue/TotalValue);

    slider1.value = value;


【讨论】:

【参考方案2】:

您可能对此感兴趣;

UISlider with ProgressView combined

【讨论】:

以上是关于iphone/ipad 自定义 UISlider 控制器的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UISlider(无需编写自定义代码)

修改自定义 UISlider

UISlider 自定义轨道图像未正确设置

如何创建自定义 UISlider

如何在 Swift 中自定义 UISlider 值

自定义 UISlider 图像卡住