ios - UITableView 在 "pull down to refresh"期间顶部有额外空间

标签 ios objective-c uitableview uirefreshcontrol

我的表格 View 有问题。 它的顶部有一个空间,如下所示: enter image description here

当我打开 TasksTableViewController 时,问题没有显示出来。但是当我像这样从 TaskTableVC 打开另一个 View Controller 时:

 FilterTasksTableViewController * fttvc = [self.storyboard instantiateViewControllerWithIdentifier:@"FilterTasksTableViewController"];
fttvc.delegate = self;
UINavigationController * navVC = [self.storyboard instantiateViewControllerWithIdentifier:@"PopoverNavigationController"];
[navVC setViewControllers:@[fttvc]];
[self presentViewController:navVC animated:YES completion:nil];

再回到TaskTableVC,问题就出现了。 当我“下拉刷新”时,它恢复正常。

在我的 TaskTableVC 代码中:

- (void)viewWillAppear:(BOOL)animated {
//other code
[self populate];
}

- (void)viewDidLoad {

 dispatch_async(dispatch_get_main_queue(), ^{

   self.refreshControl = [[UIRefreshControl alloc] init];

    self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@" "];

    [self.refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged];

    [self setRefreshControl:self.refreshControl];

});

    [self populate];
}

- (void)populate {

TaskHandler *handler = [[TaskHandler alloc] initWithContext:_context];
NSArray *allTasks = [handler getAll];

_tasks = [self filterTasks:allTasks];

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"startDate" ascending:NO];
NSArray *descriptors = [NSArray arrayWithObjects:descriptor, nil];
_tasks = [[NSMutableArray alloc] initWithArray:[_tasks sortedArrayUsingDescriptors:descriptors]];
dispatch_async(dispatch_get_main_queue(), ^{
    [self.tableView reloadData];
    [self.refreshControl endRefreshing];
});

}

我希望你能帮我解决这个奇怪的问题。

最佳答案

我用代码解决了我的问题。 我认为 Refresh 控件有问题 所以我将它从 dispatch_aysnc(dispatch_get_main_queue() 中移出并添加了 [self.tableview reloadData .这解决了我的问题。谢谢大家的回答。:)

关于ios - UITableView 在 "pull down to refresh"期间顶部有额外空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140880/

相关文章:

ios - 如何将三个标签添加到导航栏?

ios - 如何获取保存在临时目录中的视频的网址

c++ - 关闭 UIViewController 时出现 cocos2dx OpenGL 错误 0x0506

objective-c - 将 TabBarController 推送到 View

objective-c - 在 Objective-C 上 : which is the root directory in iphone

ios - 从自定义 uitableviewcell 中删除自定义子层

php - 如何 POST 自定义 NSObject 属性以保存 MySQL

ios - 在 iOS 中读取 ApplicationSupportDirectory

ios - 使用 UIProgressView Indicator 在 UITableView 中下载图像

ios - 如何将 UISwitch 添加到 UITableView 的部分?