【问题标题】:UISlider, increasing slider value beyond slider dragging boundaryUISlider,增加滑块值超出滑块拖动边界
【发布时间】:2011-05-04 01:57:59
【问题描述】:

我在下面有一个简单的滑块和文本字段。当滑块在滑块上拖动时,文本字段会显示滑块的值。有没有办法让文本字段在将滑块拖动到栏的末尾后继续显示值(增加)但您继续按住滑块将其进一步向右拖动?

编辑:我不想更改滑块值的范围。也许显示滑块值的文本字段是一个不好的例子。想象一下滑块下方的标尺图像,该图像扩展到屏幕框架之外。如果将滑块拖动到标尺上的特定测量值,比如 3 英寸标记,图像将保持静止,因为 3 英寸标记在屏幕上可见。但是,如果您测量的是 10 英寸标记,则继续将滑块拖动到滑块之外,标尺图像将继续滚动,直到您在 10 英寸标记处停止拖动。

希望这更清楚。

- (void)sliderAction {
    txtField.text = [NSString stringWithFormat:@"%0.2f", slider.value];
}


slider = [[UISlider alloc] initWithFrame:CGRectMake(30, 100, 260, 30)];
slider.backgroundColor = [UIColor clearColor];
slider.minimumValue = 0.0;
slider.maximumValue = 10.0;
slider.continuous = YES;
slider.value = 0.0;
[slider addTarget:self action:@selector(sliderAction) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:slider];

【问题讨论】:

    标签: iphone ios uikit uislider


    【解决方案1】:

    听起来您的滑块需要更大范围的值 - 可能是对数?

    【讨论】:

    • 迈克,感谢您的快速回复。我编辑了原始帖子以使其更清晰。
    • 我认为通用 UISlider 控件不会返回任何超过其上限的值。 (我也想知道用户如何知道继续拖动)。我唯一能想到的就是在滑块的 superView 中捕获拖动手势(使用gestureRecognizer),然后根据该手势的进度计算您自己的“滑块”值。最后,我不得不同意@Jeff 的观点,滑块可能不是最好的控制方式。
    【解决方案2】:

    滑块是该视图的最佳控件吗?听起来像是一些简单的按钮或自定义的手柄类型视图(捕捉手势)更适合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多