我似乎找不到一个可行的解决方案。我已经尝试了其他可用的解决方案,以在没有UITableViewController的情况下实现UITableView中的下拉刷新,但是什么也没有发生。
这是相关的代码:
@IBOutlet weak var tableView: UITableView!
var peopleRefreshControl:UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
peopleRefreshControl = UIRefreshControl()
peopleRefreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
peopleRefreshControl.addTarget(self, action: "refresh", forControlEvents: .ValueChanged)
// I also tried this
// peopleRefreshControl.addTarget(self, action: Selector("refresh"), forControlEvents: .ValueChanged)
tableView.addSubview(peopleRefreshControl)
}
func refresh(){
println("what!")
}
当我下拉时,我可以看到圆圈旋转和文本“下拉以刷新”,但“刷新”功能从未被调用。我做错了什么吗?还有其他应该做的事情吗?除了在不使用tableView时隐藏它之外,我没有对tableView进行任何特殊处理。那可能会成为问题吗?
编辑:我更新了代码,包括“:”,但完全没有变化。我仍然看到圆圈旋转和文本“下拉以刷新”,但文本“what!”从未被打印出来。
override func viewDidLoad() {
super.viewDidLoad()
...
peopleRefreshControl.addTarget(self, action: "refresh:", forControlEvents: .ValueChanged)
...
}
func refresh(sender:UIRefreshControl){
println("what!")
}
Is there something else I should be doing?