UIRefreshControl в ландшафте
У меня есть UIRefreshControl в верхней части таблицы.
Экран находится в альбомной ориентации.
Проблема в том, что я не могу вытащить достаточно далеко, чтобы вызвать обновление, потому что в Пейзаже слишком мало места. Есть ли способ отрегулировать сумму, которую вы должны снести?
Ответы
Ответ 1
Как вы можете настроить, как далеко вы должны тянуть, это изменить высоту UITableView
. UIRefreshControl
настраивает максимальную высоту искажения пропорционально высоте таблицыView. Если вы не можете изменить высоту tableView, пожалуйста, напишите ошибку с подробной информацией о вашей ситуации, и мы надеемся, будущий выпуск iOS.
Кроме того, попытались ли вы быстрее свернуть?
Ответ 2
Помните, что ваше табличное представление является всего лишь подклассом UIScrollView. В своем контроллере реализуйте метод scrollViewDidScroll
и вызовите -beginRefreshing
в свой UIRefreshControl, как показано ниже.
Но анимация UIRefreshControl при переходе к освежающему состоянию не будет такой гладкой, как вы ожидали. Но он работает.
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y < -98 && ![self.refresher isRefreshing]) {
[self.refresher beginRefreshing];
//do all the work
[self.refresher endRefreshing];
}
}
Ответ 3
если для вашего contentsize
недостаточно высоты для вытягивания, вам может потребоваться включить его вертикаль, используя self.collectionView.alwaysBounceVertical = YES;