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值是否小於指定的最大值 –