如何获得范围滑块中的最终值?

Posted

技术标签:

【中文标题】如何获得范围滑块中的最终值?【英文标题】:How to get final Value in range Slider? 【发布时间】:2019-05-04 12:03:44 【问题描述】:

我正在使用 TT 范围滑块(双滑块)在我的应用程序中过滤价格,一切正常,但是当我的最终价格是一些(例如 20)而没有选择滑块时,我点击应用按钮最终价格是不来,如果有任何答案,滑块选项将变为 0 值,将不胜感激。提前致谢。 我的代码

float price = [_filterpriceStr floatValue];

NSLog(@"%f",price);

if ([[GlobalVariables appVars].Apply isEqualToString:@"Apply"]) 

    float minimum = [[[NSUserDefaults standardUserDefaults]valueForKey:@"filtermin"] floatValue];
    float maxmum = [[[NSUserDefaults standardUserDefaults]valueForKey:@"filtermax"] floatValue];

    minValue = [[NSUserDefaults standardUserDefaults]valueForKey:@"filtermin"];
    maxValue = [[NSUserDefaults standardUserDefaults]valueForKey:@"filtermax"];

    //standard range slider
    self.rangeSlider.delegate = self;
    self.rangeSlider.minValue = 0;
    self.rangeSlider.maxValue = price;
    self.rangeSlider.step = price;

    self.rangeSlider.selectedMinimum = minimum;
    self.rangeSlider.selectedMaximum = maxmum;

    NSNumberFormatter *customFormatter = [[NSNumberFormatter alloc] init];
    customFormatter.positivePrefix = @"£";
    self.rangeSlider.numberFormatterOverride = customFormatter;
    self.rangeSlider.tintColorBetweenHandles = [UIColor colorWithRed:15.0f/255.0f green:201.0f/255.0f blue:218.0f/255.0f alpha:1.0f];


else

    float price = [_filterpriceStr floatValue];

    //standard rsnge slider
    self.rangeSlider.delegate = self;
    self.rangeSlider.minValue = 0;
    self.rangeSlider.maxValue = price;
    self.rangeSlider.selectedMinimum = 0;
    self.rangeSlider.selectedMaximum = price;

    NSNumberFormatter *customFormatter = [[NSNumberFormatter alloc] init];
    customFormatter.positivePrefix = @"£";
    self.rangeSlider.numberFormatterOverride = customFormatter;
    self.rangeSlider.tintColorBetweenHandles = [UIColor colorWithRed:15.0f/255.0f green:201.0f/255.0f blue:218.0f/255.0f alpha:1.0f];


当应用按钮点击时

 [GlobalVariables appVars].PriceRange = @"PriceRange";


[[NSUserDefaults standardUserDefaults]setValue:minValue forKey:@"filtermin"];

[[NSUserDefaults standardUserDefaults]setValue:maxValue forKey:@"filtermax"];

[[NSUserDefaults standardUserDefaults]synchronize];

NSLog(@"%@",maxValue);

[self.navigationController popViewControllerAnimated:NO];

【问题讨论】:

【参考方案1】:

添加此委托方法,您将使用它获取最小和最大滑块值。

 -(void)rangeSlider:(TTRangeSlider *)sender didChangeSelectedMinimumValue:(float)selectedMinimum andMaximumValue:(float)selectedMaximum

NSLog(@" Min Value: %.0f Max Value: %.0f", selectedMinimum, selectedMaximum);

    [[NSUserDefaults standardUserDefaults]setValue:selectedMinimum forKey:@"filtermin"];

    [[NSUserDefaults standardUserDefaults]setValue:selectedMaximum forKey:@"filtermax"];

 

【讨论】:

我的问题是当我的滑块值是 0 到 20 时,我点击应用按钮它会变为 0 值 按应用时不要将最小值和最大值分配给滑块。只需逐步调试您的最终应用程序,避免重复编码。您可以简单地从上述方法中获取您的最小值和最大值。只需将它传递给全球,就是这样。 不,当我选择价格时它不起作用,它取最终值并点击最终值它取一些最小值 嗨@santoshi 请检查这个简单的演示。它非常清晰易懂。这是链接“we.tl/t-maHRfoW06y” 您需要更改应用标识符和开发者证书。所有文件都在那里,请检查。

以上是关于如何获得范围滑块中的最终值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用从 Swift 3 中的滑块中选择的 JSON 数据更新 tableviewcell?

如何在 jQuery 滑块中初始化默认值?

在一个滑块中创建多个范围滑动手柄

如何将滑块固定到我的五步滑块中的标记?

为啥我的轮播滑块中的图像没有响应?

在快速滑块中使用封闭范围的变量