将目标添加到 UIRefreshControl()
Posted
技术标签:
【中文标题】将目标添加到 UIRefreshControl()【英文标题】:addTarget to UIRefreshControl() 【发布时间】:2016-01-05 14:16:14 【问题描述】:我发了UIRefreshControl
:
refresher = UIRefreshControl()
refresher.attributedTitle = NSAttributedString(string: "refresh")
refresher.addTarget(self, action: "refreshed", forControlEvents: UIControlEvents.ValueChanged)
refresher.addTarget(self, action: "refreshed", forControlEvents: UIControlEvents.ApplicationReserved)
refresher.addTarget(self, action: "refreshed", forControlEvents: UIControlEvents."scrolled down to bottom")
这是一个复习,工作正常,但我想添加一个动作,当我向下滚动到 tableView
的底部时,它会刷新,就像我对 ValueChanged
所做的那样,但对于底部
【问题讨论】:
您需要在表格视图上使用滚动视图委托方法来制作您自己的视图。UIRefreshControl
不知道您的表格视图何时到达底部。也许scrollViewDidScroll(_:)
中的某些内容会检查contentOffset
是否指示表格视图已滚动到底部。
@ShaohaoLin:请不要在帖子中添加“谢谢”的地方提出修改建议。这是fluff that should be edited out。
是的,感谢您回答这个问题,以及我的许多其他问题:)
【参考方案1】:
你可以使用内置的scrollViewDidEndDecelerating
func scrollViewDidEndDecelerating(scrollView: UIScrollView)
let bottomEdge = scrollView.contentOffset.y + scrollView.frame.size.height
if bottomEdge >= scrollView.contentSize.height
// Reached bottom, do your refresh
print("Bottom")
当scrollView
结束时,它正在减速并且您处于底部,然后您可以致电您的refresher
。
【讨论】:
以上是关于将目标添加到 UIRefreshControl()的主要内容,如果未能解决你的问题,请参考以下文章
类似于 UIRefreshControl 将隐藏的 UIView 添加到 UITableView
在 UITableView 下方添加 UIRefreshControl [重复]