如何计算 UIRefreshControl 的拉距
Posted
技术标签:
【中文标题】如何计算 UIRefreshControl 的拉距【英文标题】:How is the pull distance calculated for a UIRefreshControl 【发布时间】:2014-03-12 04:54:01 【问题描述】:为了清楚起见,我不想改变距离,我只想知道它是什么,因为我同时在做一些其他的 UI 工作。是固定距离还是关联UITableView
高度的函数?
【问题讨论】:
【参考方案1】:拉距似乎非常接近tableView
高度的50%。
仅供参考:您无法修改UIRefreshControl
的拉动距离。
查看我的另一个answer 以获取替代方案。
【讨论】:
【参考方案2】:如果你想改变距离,你可以使用一个小技巧。 您可以通过一些修改使其正确
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 的回答的帮助下编写了这段代码
【讨论】:
以上是关于如何计算 UIRefreshControl 的拉距的主要内容,如果未能解决你的问题,请参考以下文章