【问题标题】:UIRefreshControl for uitableview is not working in only iphone 6uitableview 的 UIRefreshControl 仅在 iphone 6 中不起作用
【发布时间】:2016-12-19 05:32:37
【问题描述】:

实际上,除了 iPhone-6 之外的所有设备都可以正常工作。请帮我解决这个问题。

我的代码是

var refreshControl = UIRefreshControl()

        self.refreshControl.addTarget(self, action: #selector(self.refresh(_:)), for: .valueChanged)
        self.tableView.addSubview(self.refreshControl)


func refresh(_ sender:AnyObject) {
    if self.appDel.isNetworkEnabled
    {
        DispatchQueue.main.async {
            if(self.page < Int(self.total_pages)! )
            {
                self.page = self.page + 1
                self.fetchMessageApiCall()
            }
        }
    }
    else
    {
        self.singletonObj.showAlert("", message: "No Internet")
    }

    self.refreshControl.endRefreshing()
}

【问题讨论】:

  • UIRefreshControl添加相关代码。
  • 这一行问题没人能解决你的问题。
  • 除 iphone 6 外的所有设备都可以正常工作
  • self.refreshControl.addTarget(self, action: #selector(self.refresh(_:)), for: .valueChanged) self.tableView.addSubview(self.refreshControl)
  • func refresh(_ sender:AnyObject) { if self.appDel.isNetworkEnabled { DispatchQueue.main.async { if(self.page

标签: ios swift uitableview uirefreshcontrol


【解决方案1】:

当您完成从 API 获取数据后,您应该输入此 self.refreshControl.endRefreshing()

【讨论】:

    【解决方案2】:

    只需像这样分配刷新控制器:

        let tableViewControler = UITableViewController()
        tableViewControler.tableView = self.tableView
        self.refreshController = UIRefreshControl()
        self.refreshController.tintColor = UIColor(red: 87.0/255.0, green: 53.0/255.0, blue: 129.0/255.0, alpha: 1.0)
        let attributedString = NSAttributedString(string: "Refresh")
        self.refreshController.attributedTitle = attributedString
        self.refreshController.addTarget(self, action:#selector(self.refresh(_:)), forControlEvents: UIControlEvents.ValueChanged)
        tableViewControler.refreshControl = self.refreshController
    

    希望对你有帮助

    【讨论】:

    • 我认为只有我写的相同。
    • @NagarajaGhantasala 只是使用它,我将 tableView 对象分配给UITableViewController
    • 代码与此问题正文中的代码相同
    【解决方案3】:

    SWIFT 3.0

    我在 IOS 10 及更高版本中遇到了这个问题,并使用以下代码解决了它

    refreshControl = UIRefreshControl()
    
    refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
    refreshControl.addTarget(self, action: #selector(refresh(sender:)), for: UIControlEvents.valueChanged)
        if #available(iOS 10.0, *) {
            self.gigListTableView.refreshControl = refreshControl
        } else {
            // Fallback on earlier versions
            self.gigListTableView.addSubview(refreshControl)
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多