【问题标题】:Swift: Cannot invoke 'addSubview' with an argument list of type '(UIRefreshControl!)'Swift:无法使用类型为“(UIRefreshControl!)”的参数列表调用“addSubview”
【发布时间】:2023-03-07 06:44:02
【问题描述】:

我正在尝试使用 Swift 2 在我的 UITableView 中创建一个下拉刷新。我在我的类声明下方添加了这个:

var refreshControl: UIRefreshControl!

这在我的 viewDidLoad() 中

self.refreshControl = UIRefreshControl()
self.refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
self.refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
self.tableView.addSubview(refreshControl)

但是,最后一行给出以下错误:

无法使用“(UIRefreshControl!)”类型的参数列表调用“addSubview”

我在这里做错了什么?我该如何解决这个问题?

我的代码截图:

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

    tableView 在哪里?我在你的代码中只看到appsTableView

    【讨论】:

    • @nRewik,refreshControl 是 UITableViewController 的属性,而不是 UITableView。
    【解决方案2】:

    您不应该将子视图直接添加到表视图中。您应该将其视图层次结构视为私有的,并且只能使用它的公共接口对其进行操作。如果您想要一个由系统处理的刷新控件,您可能应该使用UITableViewController 并将您的刷新控件安装在它的refreshControl 属性中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多