1

Ich habe derzeit Probleme mit der Implementierung einer Ladeanzeige für meine App, genau wie Instagram und Facebook. Ich möchte einfach eine Ladeanzeige am unteren Rand anzeigen (beim Rückwärtsziehen), genau wie bei einer normalen Tabellenansicht. HierSwift tableView Ladeanzeige unten

ist den Code, den ich für die reguläre Tabellenansicht Update habe:

var refreshControl: UIRefreshControl! 

//In viewDidLoad 

refreshControl = UIRefreshControl() 
refreshControl.addTarget(self, action: "Refresh:", forControlEvents: UIControlEvents.ValueChanged) 
tableView.addSubview(refreshControl) 

In meiner func Refresh() ich einfach nur die Daten holen, und steuert die Aktivitätsanzeige von dort. Wie aber würde ich das angehen, wenn ich dies am Ende meines TableViews aktivieren wollte?

Hilfe wird sehr geschätzt.

+0

Mögliche Duplikate von [Wie kann ich einen Aktivitätsindikator unter dem UITableView hinzufügen?] (Http://stackoverflow.com/questions/7953344/how-can-i-add-a-activity-indicator-below-the- uitableview) –

Antwort

1

es zum Tabellenfuß Ansicht hinzufügen

tableView.tableFooterView = footerView 

ein refreshControl schwierig wäre Hinzufügen. Fügen Sie der Fußzeile eine UIIndicatorView hinzu. scrollViewDidScroll Implement:

func scrollViewDidScroll(scrollView: UIScrollView) { 
    if (scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height { 
     tableView.tableFooterView!.hidden = true 
     // call method to add data to tableView 
    } 
} 
+0

Wie? Nur indem Sie tableView.addSubview (footerView) ausführen? Und eine Variable davon erstellen? – askaale

+0

tableView.tableFooterView = footerView – vj9

+0

Hallo dort. Das scheint leider nicht zu funktionieren, ich habe folgendes versucht: tableView.tableFooterView? .addSubview (refreshControl) - ohne Glück. – askaale

1

Refresh-Controller für pulltorefresh ist in der Regel Daten nachladen verwenden.

Spinner am unteren Bildschirmrand wird für die Paginierung verwendet.

Was Sie in NumberOfRows-Methode tun müssen, Rückgabe ArraySize + 1. in der Methode cellforRowAtIndexPath prüfen, ob indexpath.row> arraySize eine Zelle zurückgibt, die ein iactivitycenter in der Mitte hat.

Hoffe, das wird Ihnen helfen.