【发布时间】:2015-01-22 18:55:07
【问题描述】:
我需要更新滑块控件,因为我正在以 5 的步骤实现值。但是,当我在 Value changed 事件中设置值时,该事件会再次触发。如何在 ValueChanged 事件中设置滑块的值而不再次触发它?
partial void sliTip_ValueChanged(UISlider sender)
{
float newStep = (float)Math.Round((sender.Value) / _stepValue);
sender.Value = newStep * _stepValue; // <------- triggers event again
//sender.SetValue(newStep * _stepValue, false);
//NSNumber number = newStep * _stepValue;
//sender.SetValueForKey(number, new NSString("Value"));
this.lblTip.Text = sender.Value.ToString() + "% tip";
}
在原生 Objective-c 中,您可以很好地设置 UISlider 的值,而不会触发事件:
slider setValue:self.tip;
【问题讨论】: