以编程方式显示TTTableHeaderDragRefreshView的下拉更新消息

时间:2011-12-02 07:53:10

标签: ios uitableview ios5 three20

enter image description here

如何使用three20的TTTableHeaderDragRefreshView以编程方式显示此消息? (虽然这个例子不是来自三十二个)

我可以控制滚动滚动到顶部,带有一点负y值,只是为了显示该消息:“下拉到更新/刷新?”

1 个答案:

答案 0 :(得分:2)

是的,您必须手动更改表的内容偏移量并调用表的重新加载功能。这将创建用户在尝试通过滚动到表格顶部来更新内容时看到的相同效果:

///////////////////////////////////////////////////////////////////////////////////////////////////
- (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];

您可能还需要使数据源无效,以强制更新,因为如果数据存储在缓存中,则会显示要刷新的拖动并立即隐藏。