Нахождение направления прокрутки в UIScrollView?

Эти необязательные аргументы помогают продлить время, если вам нужно увеличить его (есть ограничения на время, которое служба уважает с помощью этих аргументов), вам придется переопределить распознаватель, как в stackoverflow.com/a/49810988/806328

recognizerIntent.PutExtra(RecognizerIntent.ActionRecognizeSpeech, RecognizerIntent.ExtraPreferOffline);
            recognizerIntent.PutExtra(RecognizerIntent.ExtraSpeechInputCompleteSilenceLengthMillis, 1000); 
            recognizerIntent.PutExtra(RecognizerIntent.ExtraSpeechInputPossiblyCompleteSilenceLengthMillis, 1000);
            recognizerIntent.PutExtra(RecognizerIntent.ExtraSpeechInputMinimumLengthMillis, 1500);
176
задан Shaik Riyaz 23 April 2014 в 06:09
поделиться

1 ответ

Во всех верхних ответах два главных способа решить проблему использует panGestureRecognizer или contentOffset. И методы имеют свои недостатки и профессионалов.

Метод 1: panGestureRecognizer

, Когда Вы используете panGestureRecognizer как то, какой предложенный @followben, если Вы не хотите программно прокручивать свое представление прокрутки, он работает правильно.

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{ 
    if ([scrollView.panGestureRecognizer translationInView:scrollView.superview].x > 0) {
        // handle dragging to the right
    } else {
        // handle dragging to the left
    }
}

Недостатки

, Но если Вы перемещаете представление прокрутки со следующим кодом, верхний код не может распознать его:

setContentOffset(CGPoint(x: 100, y: 0), animation: false)

Метод 2: Недостатки contentOffset

var lastContentOffset: CGPoint = CGPoint.zero

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if (self.lastContentOffset.x > scrollView.contentOffset.x) {
        // scroll to right
    } else if self.lastContentOffset.x < scrollView.contentOffset.x {
        // scroll to left
    }
    self.lastContentOffset = self.scrollView.contentOffset
}

, Если Вы хотите изменить contentOffset программно, во время прокрутки (как то, когда Вы хотите создать бесконечную прокрутку), этот метод делают проблему, потому что Вы могли бы измениться contentOffset во время изменения мест представлений содержания и в это время, верхний переход кода в этом, Вы прокручиваете для исправления или оставленный.

0
ответ дан 23 November 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: