我在一个swift 3中添加了一个refreshControl到iOS 10中的scrollView,但是没有调用添加的函数。
这是我的代码。
let rc = UIRefreshControl()
rc.addTarget(self, action: #selector(refresh), for: UIControlEvents.valueChanged)
if #available(iOS 10.0, *) {
scrollView.refreshControl = rc
}
...
@objc func refresh(_ sender: AnyObject) {
let response = serverHelper.send(word: JSONParser.getAllGamesForPlayer(player: localPlayer))
let games = JSONParser.parseToArrayDic(string: response)
print("All games \(games)")
addAllGameButtons(games: games)
sender.endRefreshing()
}
我希望refreshContol
调用refresh
函数。
但是这个函数从未被调用过。
我在这里做错了什么?
修改
refreshControl正在运行,但问题是,我必须向下滚动到屏幕的末尾才能调用该函数。 我的scrollView高达1200像素。 谁知道如何解决这个问题?
答案 0 :(得分:4)
当我的视图控制器在故事板上有size: freeform
1500px时,我遇到了这个错误。
当我把它改成固定大小&推断,刷新开始按预期工作。
看起来苹果方面的一个错误是刷新控件,当从Xib / Storyboard加载视图时设置了值更改距离,但在为设备布局时没有更新。