swift - 在 Swift 中实现拉动刷新时 TableView 标题卡住

标签 swift uitableview

我在 UIViewController 中有一个 TableView 。我在 tableView 上实现了一个 UIRefreshControl。如果我在刷新 Controller 轮旋转时向上拖动表格,第一个标题会卡在表格中间。我不知道哪里出了问题...

这是问题的截图:

enter image description here

这是我在 viewDidLoad 中使用的代码:

        refreshControl = UIRefreshControl()
        refreshControl.tintColor = UIColor.redColor()
        refreshControl.addTarget(self, action: "handleRefresh:", forControlEvents: UIControlEvents.ValueChanged)
        tableView.insertSubview(refreshControl, atIndex: 0)
        tableView.sendSubviewToBack(refreshControl)

这就是我创建标题的方式:

  func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
        let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView //recast view as a UITableViewHeaderFooterView
        header.contentView.backgroundColor = UIColor(red: 59/255, green: 134/255, blue: 134/255, alpha: 1.0) //make the background color light blue
        header.textLabel.textColor = UIColor.whiteColor() //make the text white
        header.alpha = 0.5 //make the header transparent
    }

非常感谢!

最佳答案

您在此处插入了刷新控件:

tableView.insertSubview(refreshControl, atIndex: 0)

你应该做什么/已经做了什么:

self.tableView.addSubview(self.refreshControl)

此外,您还需要编写HandleRefresh和触发器的代码

refreshControl.endRefreshing()

在方法的最后。您编写代码的方式意味着您已将控件添加到表的特定部分...

另一种方法是在 StoryBoard 中启用刷新控件。注意不要同时添加两者 - 即启用它并在代码中自行创建它。

你可以看到两个例子here

关于swift - 在 Swift 中实现拉动刷新时 TableView 标题卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32344163/

相关文章:

Swift 选择器不严格?

Swift:如何修复超出范围时返回 nil 的函数

ios - 搜索和表格 View

ios - 在 Swift 中删除表格行的滑动功能没有动画效果

ios - Core Data/NSFetchedResultsController - 注册与获取的对象相关的更改对象

swift - 存档和导出后并发线程未同时运行

ios - Firebase 的新手和 swift。无法将 Firebase 连接到 Xcode

iphone - UITableView with pop 无法查看数据问题

ios - Swift:自定义 UITableViewRowAction

swift - 为什么移动到新场景时蓝牙会断开?