【问题标题】:Pull to refresh: screen disappears拉动刷新:屏幕消失
【发布时间】:2016-12-28 11:08:52
【问题描述】:

我为我的控制器实现了pull to refresh 功能:

- viewDidLoad {
self.refresh = [[UIRefreshControl alloc] init];
[self.refresh addTarget:self action:@selector(refreshData) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:self.refresh];
}

- (void) refreshData {
__weak myController *weakSelf = self;
[[NetworkcallManager instance] getCall:^(NSString *result){
    if(weakSelf != nil) {
                [weakSelf.refresh endRefreshing];
                [weakSelf.tableView reloadData];
            }
    }];
}

刷新按预期工作,但是当我用力拉下屏幕时,整个屏幕会消失一会儿,然后数据会被刷新。

有没有办法避免屏幕消失?我想知道是不是因为 reloadData 功能。如果它调用'viewWillAppear',那么我可以理解我面临的问题。 (我的 viewWillAppear 代码会导致屏幕暂时空白)。

编辑: 如果我在没有互联网连接的情况下下拉(关闭 wifi),那么屏幕不会消失。

【问题讨论】:

  • 您是否收到任何 AutoLayout 错误?
  • 不,我不知道。在黑屏的情况下一切正常。
  • 尝试在主线程中重新加载您的 tableView - dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.refresh endRefreshing]; [weakSelf.tableView reloadData]; });
  • 也试过了。但是屏幕仍然消失了。
  • 我遇到了问题。在代码中,我正在清除表,然后对其进行更新。结果,屏幕瞬间消失。

标签: ios objective-c pull-to-refresh


【解决方案1】:

我有问题。在代码中,我正在清除表,然后对其进行更新。结果,画面瞬间消失。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2017-06-22
    相关资源
    最近更新 更多