我刚刚在我的UITableView中添加了一个普通的UIRefreshControl,但它在拉动时会做一个奇怪的重构动画。
任何人都知道为什么会发生这种情况?我没有修改tableView插件或任何东西。
修改 tableView是UIViewController(不是UITableViewController)中的子视图。添加为:
self.refreshControl = [[UIRefreshControl alloc] init];
self.refreshControl.tintColor = [UIColor blackColor];
[self.refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:self.refreshControl];
答案 0 :(得分:1)
来自UIRefreshControl
文档:
因为刷新控件是专门为在a中使用而设计的 由表视图控制器管理的表视图,在a中使用它 不同的上下文可能会导致未定义的行为。
您可以添加“虚拟”UITableViewController
并为其分配tableView(信用到this answer)。
UITableViewController *tableViewController = [[UITableViewController alloc] init];
tableViewController.tableView = self.myTableView;
tableViewController.refreshControl = self.refreshControl;
或者,您可以使用UIRefreshControl的自定义替换 - GitHub上有许多替换。这样,您还可以根据需要自定义刷新控件。