Ich habe eine UIRefreshControl
auf meiner UITableView
hinzugefügt. Es funktioniert gut, wenn der Bildschirm zum ersten Mal geladen wird. Ab dem zweiten Mal, wenn ich beginRefreshing
in viewWillAppear
rufe, dann bleibt der Header der Tabellenansicht stecken und auch das Refresh-Steuerelement wird nicht angezeigt. UIRefreshcontrol - UItableview Header-Ansicht ist stecken geblieben und refreshview zeigt nicht
Was könnte das Problem sein?
override func ViewDidLoad(){
refreshControl.addTarget(self, action: #selector(PlacesViewController.pullToRefresh), forControlEvents: .ValueChanged)
tableView.addSubview(refreshControl)
tableView.tableFooterView = UIView()
self.tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 110, right: 0)
FetchExtPlaceList([:],inBackground:inBackground)
}
func FetchExtPlaceList(pramrDisc:parameter,inBackground:Bool){
if !inBackground{
ActivityManager.ManageActivityView(self, action: .ActionAdd)
}else if pageNumber == 1 {
self.refreshControl.beginRefreshing()
}
WSRequest.SendRequest(WSMethod.POST, pramrDisc: pramrDisc, paramsString: nil, operation: WSOperation.FetchExtPlaceList, completionHandler: { response in
if !inBackground{
ActivityManager.ManageActivityView(self, action: .ActionRemove)
}
if let errorTitle = response.errorTitle {
if let errorDescription = response.errorDescription {
UIAlertController.ShowAlert(errorTitle, message: errorDescription)
}
}else if let wsError = response.wsError {
if let infoMessage = wsError.infoMessage {
UIAlertController.ShowAlert("", message: infoMessage)
}else if let errorMessage = wsError.errorMessage {
UIAlertController.ShowAlert("", message: errorMessage)
}else if let error = wsError.error {
UIAlertController.ShowAlert("", message: error.description)
}
}else{
if let places = response.parsedObject as? [Place]{
if self.pageNumber == 1 {
self.places.removeAll()
}
self.places.appendContentsOf(places)
self.tableView.reloadData()
}
}
if self.refreshControl.refreshing{
self.refreshControl.endRefreshing()
}
})
}
Können Sie den Code hinzufügen? –
Bitte überprüfen Sie, ob ich die Frage mit Code aktualisiert habe. –