我的 UIRefreshController 正在做一些奇怪的事情。 当我下拉刷新时,tableView 标题被替换。
如果我下拉它看起来不错,但如果我在刷新器仍在工作时向下滚动表格,则标题会偏移刷新控件的高度,而 UITableCells 很好并滚动到标题后面。
我想避免创建 tableViewController,因此我在 viewDidLoad 中执行以下操作:
_refreshControl = [[UIRefreshControl alloc] init];
[_refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged];
[_tableView addSubview:_refreshControl];
我在不同的 View Controller 中有很多表需要此功能。有什么办法可以避免为每个人制作一个 UITableViewController 吗?
非常感谢!
最佳答案
这可能是一个问题,因为您将 _refreshControl
添加为 subview ,而这是不应该完成的。但是,您可以创建一个 UITableViewController
对象,将其添加为当前 View Controller 类的 subview Controller 。
例如:-
UITableViewController *tableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
[self addChildViewController:tableViewController];
tableViewController.refreshControl = [[UIRefreshControl alloc] init];
[tableViewController.refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
tableViewController.tableView.frame = CGRectMake(...);//set the frame here
[self.view addSubview:tableViewController.tableView];
关于ios - 使用 UIRefreshControl 在 TableView 中置换标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233147/