ios - 使用 UIRefreshControl 在 TableView 中置换标题

标签 ios objective-c uitableview uirefreshcontrol

我的 UIRefreshController 正在做一些奇怪的事情。 当我下拉刷新时,tableView 标题被替换。

如果我下拉它看起来不错,但如果我在刷新器仍在工作时向下滚动表格,则标题会偏移刷新控件的高度,而 UITableCells 很好并滚动到标题后面。

http://oi49.tinypic.com/2a8hqti.jpg

http://oi46.tinypic.com/acssrb.jpg

我想避免创建 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/

相关文章:

ios - Assets 目录编译器错误 Xcode 9

objective-c - 创建单一尺寸的动态 UILabel 字体

ios - UIImagePickerController 从 UICollectionViewCell 中的 UIImageView 呈现

ios - 如何在我的应用程序中添加泰米尔语。我的 Xcode 版本是 9.2

ios - 如何停止播放歌曲和播放新歌曲

iphone - 我自己的目录的位置

swift - 具有多个自定义单元格的 UITableview 与 Swift

ios - 使用 exit-segue 时的 viewWillAppear 和 viewDidAppear

iphone - 如何设置 UITableView 部分以每 5 行单元格开始新部分

ios - 如何获取另一个数组中存在的每个数组的对象计数?