UIScrollView, определяет высоту прокручиваемой области без прокрутки вниз - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь зарегистрировать некоторые события, когда пользователь прокручивает 50% содержимого scrollView.

Я могу получить сумму прокрутки с помощью scrollView.contentOffset.y следующим образом:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    NSLog(@"%f",scrollView.contentOffset.y);
}

Swift:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    print(scrollView.contentOffset.y)
}

При прокрутке вниз к нижней частиscrollView Я могу узнать о высоте contentArea, как только я достигну дна, допустим, что значение равно 2000, и я могу жестко закодировать значение 1000, поскольку меня интересует только когда пользователь превышает 50% всего содержимогоSize.

Но я хочу, чтобы он был динамическим, поскольку источник данных tableView может измениться в будущем, что приведет к тому, что нижняя часть смещения scrollView будет больше или меньше 2000.

Я хотел бы знать, если этоможно определить максимальное значение contentOffset для tableView даже до прокрутки вниз?

Заранее спасибо.

1 Ответ

0 голосов
/ 08 октября 2018

Существует свойство с именем "contentSize" UIScrollView.

https://developer.apple.com/documentation/uikit/uiscrollview/1619399-contentsize

Вы можете использовать его после заполнения представления таблицы, чтобы получить общую высоту, которую может занять представление таблицы..

ПРИМЕЧАНИЕ. Это действительно только в том случае, если ваши строки имеют постоянную высоту, а не переменную высоту

...