0
我在我的视图中有一个UISlider。当UISlider拖到最后时会发生什么事件?
_seekBar = new UISlider
{
MinValue = 0,
Continuous = false,
AutoresizingMask = UIViewAutoresizing.FlexibleWidth
};
_seekBar.TouchDown += OnTouchDown;
_seekBar.TouchDragInside += OnDragInside;
_seekBar.ValueChanged += OnValueChanged;
我已经设置了三个事件如下。
private void OnTouchDown(object sender, EventArgs e)
{
// pause the watcher when you touch down
_audioPlayerService.Pause();
}
private void OnDragInside(object sender, EventArgs e)
{
// basically updates the number next to the slider as you drag
_viewModel.CurrentPositionMsec = (int)_seekBar.Value;
}
private void OnValueChanged(object sender, EventArgs e)
{
_viewModel.UserSeekPosition = (int)_seekBar.Value;
if (_viewModel.SeekToCommand.CanExecute())
_viewModel.SeekToCommand.Execute(_viewModel);
_audioPlayerService.Start();
}
注:守望基本上手表的音频播放器并报告进展情况。
我遇到的问题是,如果我一直拖动滑块到最后(最右侧),即使没有释放任何东西,我开始变得奇怪的行为。
- 尝试重新拖不停止观察者
- 的滑块开始我的拇指的位置和观看目前的进展之间跳跃。
- 音频口吃和跳到轨道的末尾。
我不希望任何事情发生时,我将我的拇指滑到最后,除非我释放滑块。
注:如果我不一路寻找到了最后,一切工作完全按照预期
什么事件触发时,UISlider拖动一路到最后?
是的如果你看看第一个代码块,我有。这是C#,因为我使用Xamarin。 –
我不认为有任何方法检查滑块是否达到了最大值/最大值。你可以做的是检查滑块的OnValueChanged值是否小于指定的最大值 –