让我们假设一个有一个UISlider
到我设置一定的价值。 滑动手柄然后移动到该值,符合市场预期。
现在我想,让用户滑动滑块的手柄来回,但没有设置的值UISlider
要少,比我分配给它编程。
因此,例如我有一个UISlider
为0的最小值和100最大价值,我将其值设置为50。我不希望用户“lefter”比50,但是,它的“右”滑动我希望让用户滑动手柄来回。
如何实现这种行为中的OBJ-C?
让我们假设一个有一个UISlider
到我设置一定的价值。 滑动手柄然后移动到该值,符合市场预期。
现在我想,让用户滑动滑块的手柄来回,但没有设置的值UISlider
要少,比我分配给它编程。
因此,例如我有一个UISlider
为0的最小值和100最大价值,我将其值设置为50。我不希望用户“lefter”比50,但是,它的“右”滑动我希望让用户滑动手柄来回。
如何实现这种行为中的OBJ-C?
你应该首先确认更新事件连续发送:
mySlider.continuous = YES;
你也可以这样做,在你的情节提要/笔尖(由@fDmitry作为mentionned,这是IB默认状态)。
然后,你有你的滑块链接到一个IBAction
你的.h文件中(创建按ctrl拖动从IB到你的代码的链接),并将其分配给您的滑块的“数值改变”事件。 这将创建一个像这样的方法:
-(IBAction)sliderValueChanged:(id)sender;
实现这样的说法:
- (IBAction)sliderValueChanged:(id)sender {
float maxValue = 50.0f;
if ([(UISlider*)sender value] > maxValue) {
[(UISlider*)sender setValue:maxValue];
}
}
这一个是很容易的,其实:)
创建行动并将其指定为选择器UISlider的行动的valueChanged。 内部的方法,进行一个简单的检查:如果滑块的值小于50,将其设置为50。
如果您需要任何进一步的帮助,我可以在我的课后写一些示例代码。 希望能帮助到你!
你的滑块连接valueChanged:
动作。 你应该实现它是这样的:
- (void)mySliderValueChanged:(UISlider *)slider
{
CGFloat myMinValue = 50.0f; // should be a global variable
if(slider.value < myMinValue)
{
slider.value = myMinValue;
}
}