Aus irgendeinem Grunde das erste Mal des View-Controller geladen wird, verhält sich die Refresh-Steuer wie erwartet (das es zeigt unter Tableview, wenn Swipe nach unten). Das Problem ist, wenn ich auf eine andere Registerkarte tippe und dann zurück zum View-Controller gehe, wird das Refresh-Steuerelement nicht mehr eingeblendet und ist über der Tabellenansicht sichtbar.Refresh Kontrolle auf der Tableview, wenn ich zu View-Controller zurück
Dieser Teil des Codes ist:
class CoreTableViewController : UIViewController, UITableViewDataSource, UITableViewDelegate {
var tableView:UITableView!
var tableData:Array<AnyObject> = []
var dataFetched:Bool = false
var refreshControl:UIRefreshControl?
override func viewDidLoad() {
super.viewDidLoad()
self.edgesForExtendedLayout = UIRectEdge.None;
self.tableView = self.assignTableView()
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")
self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None;
if self.enableRefresher() {
self.setRefreshControl()
}
}
func enableRefresher() -> Bool {
return true
}
func fetchData(cleanFirst:Bool = false) {
// Fetch data.
}
func refresh() {
self.fetchData(true)
self.refreshControl!.endRefreshing()
}
func setRefreshControl() {
self.refreshControl = UIRefreshControl()
//self.refreshControl!.attributedTitle = NSAttributedString(string: "Actualizar")
self.refreshControl!.addTarget(self, action: #selector(CoreTableViewController.refresh), forControlEvents: UIControlEvents.ValueChanged)
self.tableView.addSubview(refreshControl!)
}
}
Irgendwelche Gedanken?
Bitte erläutern Sie es deutlich, ich verstehe nicht, was Sie wollen und was Sie bekommen –