OStack程序员社区-中国程序员成长平台

标题: ios - 如何在双面 slider 中将 slider 设置为标记的动画 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 21:49
标题: ios - 如何在双面 slider 中将 slider 设置为标记的动画

我必须使用双面 slider 来获得最小值和最大值。

在最小值和最大值之间也有标记,如下图所示。

|--------|-----------|---------|

10      20          30        40  

当我在 10-20 之间拖动假设左 nob 时,如果值小于 15 则自动设置动画/移动到 10,但如果值大于 15 则它自动移动/设置为 20。

我不知道如何移动/动画它。

我正在使用REDRangeSlider项目作为引用。



Best Answer-推荐答案


我已根据您的要求对代码进行了一些更改。请检查这个。

在分配初始化此控件时添加此方法。

[self.rangeSlider addTarget:self actionselector(rangeSliderValueChanged forControlEvents:UIControlEventValueChanged];//This is already added.
[self.rangeSlider addTarget:self actionselector(dragEnded forControlEvents:UIControlEventTouchUpOutside];//add this

实现该方法——拖拽结束时调用该方法。

-(void)dragEndedid)sender
{
    NSLog(@"called");
    //Set your Conditions this is for testing.
    if (self.rangeSlider.leftValue<15.0)
    {
        self.rangeSlider.leftValue = 10.0;
    }
}

在REDRangeSlider 类中勾选这两个处理Pan Gesture 状态的方法,所以当你拖动end 时,方法会调用这个手势状态。那时调用这个你集成到你的主类中的 Action 。

- (void)leftHandlePanEngadgedUIGestureRecognizer *)gesture 
{
    else if (panGesture.state == UIGestureRecognizerStateCancelled ||
         panGesture.state == UIGestureRecognizerStateEnded ||
         panGesture.state == UIGestureRecognizerStateCancelled) {
        self.leftHandle.highlighted = NO;
        self.leftValue = [self roundValueToStepValue:self.leftValue];
        //Change below line For Left .
        [self sendActionsForControlEvents:UIControlEventTouchUpOutside];
    }
}
- (void)rightHandlePanEngadgedUIGestureRecognizer *)gesture 
{
    UIPanGestureRecognizer *panGesture = (UIPanGestureRecognizer *)gesture;

     //Other code ........
    else if (panGesture.state == UIGestureRecognizerStateCancelled ||
         panGesture.state == UIGestureRecognizerStateEnded ||
         panGesture.state == UIGestureRecognizerStateCancelled) {
        self.rightHandle.highlighted = NO;
        self.rightValue = [self roundValueToStepValue:self.rightValue];
         //Change below line For right .
        [self sendActionsForControlEvents:UIControlEventTouchUpOutside];
    }
}

关于ios - 如何在双面 slider 中将 slider 设置为标记的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23290294/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4