Программно показать сообщение TTTableHeaderDragRefreshView «Подтянуть до обновления» - PullRequest
2 голосов
/ 02 декабря 2011

enter image description here

Как вы программно показываете это сообщение, используя TTTableHeaderDragRefreshView от Three20? (Хотя этот пример не из трех20)

Могу ли я прокрутить прокрутку до вершины с небольшим отрицательным значением y, просто чтобы показать это сообщение: «Потяните вниз, чтобы обновить / обновить?»

1 Ответ

2 голосов
/ 02 декабря 2011

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

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)reload {
  if ([self.tableView.delegate isKindOfClass:[TTTableViewDragRefreshDelegate class]]) {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:ttkDefaultFastTransitionDuration];
    self.tableView.contentOffset = CGPointMake(0, -60.0f);
    [UIView commitAnimations];
  }

  [super reload];
}

, а затем просто добавляет кнопку для использования этой функции перезагрузки:

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(reload)] autorelease];

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

...