gpt4 book ai didi

ios - 拉动刷新没有 UITableViewController 的 UITableView 不工作

转载 作者:可可西里 更新时间:2023-10-31 23:49:37 25 4
gpt4 key购买 nike

我似乎找不到可行的解决方案。我已经尝试了其他可用的解决方案来在没有 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!")
}

当我向下拉时,我可以看到旋转的圆圈和“Pull to refresh”字样,但从未调用函数“refresh”。我究竟做错了什么?还有什么我应该做的吗?除了在不使用时隐藏它之外,我没有对 tableView 做任何特别的事情。这会不会是个问题?

编辑:我按如下方式更新了代码以包含“:”,但绝对没有任何变化。我仍然看到圆圈旋转和文字“拉动刷新”,但文字“什么!”永远不会打印出来。

override func viewDidLoad() {
super.viewDidLoad()

...
peopleRefreshControl.addTarget(self, action: "refresh:", forControlEvents: .ValueChanged)
...
}

func refresh(sender:UIRefreshControl){
println("what!")
}

还有什么我应该做的吗?

最佳答案

那是因为你没有在 viewDidLoad 的 refresh 后面加一个“:”。没有它,刷新功能将无法运行。尝试使用此代码...

var refreshControl:UIRefreshControl!

override func viewDidLoad()
{
super.viewDidLoad()

self.refreshControl = UIRefreshControl()
self.refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")

//look at the : after "refresh"
self.refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)


self.tableView.addSubview(refreshControl)
}

关于ios - 拉动刷新没有 UITableViewController 的 UITableView 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com