Прокрутка UIScrollView для насыщения программно

Попробуйте это:

<p>
  <span v-for="hotel in hotels">
    <template v-if="hotel.facilities.indexOf('restaurant') !== -1">{{ hotel.name }}         
287
задан Ahmad F 6 August 2019 в 01:50
поделиться

3 ответа

Вы можете использовать функцию setContentOffset: animated: в UIScrollView для прокрутки к любой части представления содержимого. Вот код, который будет прокручиваться вниз, если ваш scrollView - self.scrollView :

CGPoint bottomOffset = CGPointMake(0, self.scrollView.contentSize.height - self.scrollView.bounds.size.height + self.scrollView.contentInset.bottom);
[self.scrollView setContentOffset:bottomOffset animated:YES];

Надеюсь, это поможет!

611
ответ дан 23 November 2019 в 01:46
поделиться

Если Вы так или иначе изменяете scrollView contentSize (напр. добавьте что-то к stackView, который является внутри scrollView), необходимо звонить scrollView.layoutIfNeeded() перед прокруткой, иначе это ничего не делает.

Пример:

scrollView.layoutIfNeeded()
let bottomOffset = CGPoint(x: 0, y: scrollView.contentSize.height - scrollView.bounds.size.height + scrollView.contentInset.bottom)
if(bottomOffset.y > 0) {
    scrollView.setContentOffset(bottomOffset, animated: true)
}
0
ответ дан 23 November 2019 в 01:46
поделиться

Я также нашел другой полезный способ сделать это в случае, если вы используете UITableview (который является подкласс UIScrollView):

[(UITableView *)self.view scrollToRowAtIndexPath:scrollIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
7
ответ дан 23 November 2019 в 01:46
поделиться
Другие вопросы по тегам:

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