2016-04-07 10 views
0

In meiner TableView muss ich selb.tableView.tableFooterView = UIView() sonst die Tabelle scrollt zu weit nach unten. Das Problem ist, wenn ich dies dann meine Pull hinzufügen, um UIRefreshControl zu aktualisieren funktioniert nicht mehr. Gibt es eine Möglichkeit, beides zu haben?UIRefreshControl und tableFooterView = UIView()

Antwort

-1

Machen Sie ein Custom Control Steuerung aktualisieren für

+0

Es tut mir leid, können Sie weiter erklären? – bdc

1

Es gibt keinen Grund, warum Sie können nicht beides haben. Haben Sie die UIRefreshControl auf die richtige Weise hinzugefügt? Hier ist Code aus einem Projekt von mir funktioniert:

var pullToRefreshControl : UIRefreshControl! 

override func viewDidLoad() { 
     super.viewDidLoad() 

     self.setFooterView() 
     self.addPullToRefreshView() 
    } 

private func setFooterView() { 

     let footerView = UIView() 

     let footerLabel = UILabel() 
     footerLabel.text = "Table Footer" 
     footerLabel.sizeToFit() 
     footerView.addSubview(footerLabel) 

     self.tableView.tableFooterView = footerView 
    } 

private func addPullToRefreshView() { 

     pullToRefreshControl = UIRefreshControl() 
     pullToRefreshControl.attributedTitle = NSAttributedString(string: "Pull To Refresh") 
     pullToRefreshControl.addTarget(self, action: "refresh:", forControlEvents: .ValueChanged) 

     self.tableView.addSubview(pullToRefreshControl!) 
    } 
+0

Ja, ich habe diesen genauen Code in meinem Projekt ausprobiert und es hat nicht funktioniert. (Ich musste löschen -> UIVIew da es keine Rückkehr gibt). Aus irgendeinem Grund verhindert die Fußzeile das Scrollen. – bdc

+0

Eine kleine Notiz, die den Unterschied ausmachen könnte - legen Sie den Tabellendarstellungsstil in InterfaceBuilder oder Code als 'Grouped' statt als Plain fest. –

+0

Entschuldigung. Ich habe es gelöst! Ich hatte self.tableView.alwaysBounceVertical = false, was dazu führte, dass das Refresh nicht funktionierte – bdc

Verwandte Themen