如何计算UIRefreshControl的拉伸距离

时间:2014-03-12 04:54:01

标签: ios uitableview uirefreshcontrol

为了清楚起见,我不想改变距离,我只是想知道它是什么,因为我正在同时做一些其他UI的东西。它是固定距离还是相关UITableView的高度函数?

2 个答案:

答案 0 :(得分:4)

拉距似乎非常接近tableView高度的50%。

仅供参考:您无法修改UIRefreshControl的拉动距离。

检查我的其他answer是否有替代方案。

答案 1 :(得分:0)

如果要更改距离,请使用一些技巧。 您可以通过一些修改使其正确

lazy var refreshControl: UIRefreshControl = {
        let refreshControl = UIRefreshControl()
        refreshControl.tintColor = UIColor.red
        return refreshControl
    }()

//refreshControl.addTarget(self, action: #selector(handleRefresh), for: .valueChanged)

每个PullToRefresh必须具有这样的几行代码,即handleRefresh函数,可以执行刷新页面所需的任何事情。

您只需要注释掉addTarget行并将此函数添加到您的代码中 ```

func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if scrollView.contentOffset.y < -80 { //change 80 to whatever you want
            if  !self.refreshControl.isRefreshing {
                handleRefresh()
            }
        }
    }

我在Ashkan Ghodrat的答案的帮助下编写了这段代码