UISlider完成改变

时间:2013-06-24 07:34:39

标签: ios

我有一个滑块,当它开始更改值时,会显示另一个标签(让用户看到他们在做什么)。唯一的问题是我需要知道用户何时完成了滑块的编辑,这样我才能让UILabel再次消失。有没有办法做到这一点?下面的代码显示了滑块值开始变化时的操作。谢谢你的帮助!

- (IBAction)sliderValueChanged:(UISlider *)sender {
    tipPercentLabel.text = [NSString stringWithFormat:@"%.f", ([sender value] * 100)];
    tipPercentLabel2.text = [NSString stringWithFormat:@"%.f", ([sender value] * 100)];

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.0];
    [tipPercentLabel setAlpha:0.3];
    [tipPercentLabel2 setAlpha:1.0];
    [UIView commitAnimations];


    [self performSelector:@selector(autoTipCalc) withObject:nil afterDelay:0.01];
}

2 个答案:

答案 0 :(得分:5)

您已经为UIControlEventValueChanged添加了一个目标/操作对,您需要做的就是使用不同的选择器和addTarget:action:forControlEvents:(或任何其他控制事件)再次调用UIControlEventTouchUpInside你感兴趣的。)

答案 1 :(得分:0)

您可以将目标添加到滑块,就好像UIButon处理UIControlEventTouchUpInside一样(也适用于外部)。可选地或者您可以在每次更改值时延迟后执行选择器以检查滑块值上次更改的时间,如果标签已经花了足够长的时间,则删除标签。