Pull-to-refresh在空TableView上不起作用

时间:2016-01-15 11:33:03

标签: ios swift uitableview uirefreshcontrol

当我清除数据源中的所有数据并重新加载tableView时,不再提供pull-to-refresh。如何在空tableView上启用pull-to-refresh?

override func viewDidLoad() {
    super.viewDidLoad()
    ...
    // Pull to refresh for iPhone
    refreshControl?.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)

    tableView.tableFooterView = UIView(frame: CGRectZero) // To remove separator line on empty cells
    tableView.estimatedRowHeight = Constants.DetailTableView.estimatedRowHeight
    tableView.rowHeight = UITableViewAutomaticDimension

    setupRefreshControl()
}

private func setupRefreshControl() {
    // If on iPhone, List becomes the pull-to-refresh handler and the delegate
    if UIScreen.mainScreen().traitCollection.horizontalSizeClass == .Compact {
        SyncService.shared.delegate = self
        refreshControl?.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
        refreshControl?.tintColor = UIColor.whiteColor()
    } else {
        // Otherwise disable the refresh control in List
        refreshControl = nil
    }
}

2 个答案:

答案 0 :(得分:9)

就我而言,我只需要启用弹跳:

window.jsPopunder = undefined;

  

默认NO。如果是,弹跳为是,即使内容小于边界,也允许垂直拖动

答案 1 :(得分:2)

在表格刷新功能中,我实际上有代码显示一些空表' view提醒用户tableview为空,此视图位于tableview的视图上方,因此阻止了交互。我修复了视图的图层,现在它正在工作。因此,如果您在问题中遇到问题,只需检查某些视图是否与您的tableview不重叠,这就是我的情况。