2016-12-19 6 views
-1

Фактически эта работа прекрасна на всех устройствах, кроме IPhone-6. Пожалуйста, помогите мне в этой проблеме.UIRefreshControl для uitableview работает не только в 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() 
} 
+2

Добавить соответствующий код для 'UIRefreshControl'. –

+0

Никто не может решить вашу проблему по этому одному вопросу. –

+0

для всех устройств, работающих отлично, кроме iphone 6 –

ответ

1

Просто выделить обновления контроллера, как это:

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 

надеюсь, что это помогает

+0

Я думаю, что то же самое только я написал. –

+0

@NagarajaGhantasala просто использую это, я назначаю объект tableView 'UITableViewController'. – PiyushRathi

+0

код тот же, что написано в теле этого вопроса –

2

Может быть, вы должны поставить это self.refreshControl.endRefreshing(), когда ваши сделаны выборки данных из API ,

0

СВИФТ 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) 
    } 
Смежные вопросы