如何在tableView加載時運行一些代碼。這是我認爲可能的工作:如何在tableView加載時運行一些代碼?
while ([self.tableView reloadData]) {
do something
}
我想有而表加載一個UIActivityIndicator運行,然後將數據加載後消失。
感謝您的幫助
如何在tableView加載時運行一些代碼。這是我認爲可能的工作:如何在tableView加載時運行一些代碼?
while ([self.tableView reloadData]) {
do something
}
我想有而表加載一個UIActivityIndicator運行,然後將數據加載後消失。
感謝您的幫助
不能完全確定,但它看起來像你可以這樣做:
activityIndicator.hidesWhenStopped = true;
[activityIndicator startAnimating];
[tableView reloadData];
[self performSelector:@selector(updateFinished) withObject:nil afterDelay:0];
其中updateFinished只是調用
[activityIndicator stopAnimating].
如果我沒看錯的,你是做在主線程上的一切。每個線程都有它的運行循環,用戶的方法,動畫,輸入處理,定時器和類似的東西在循環中執行。在執行某個用戶代碼的時候,調用reloadData會調度在方法結束後要執行的表動畫,而不是使用延遲爲0的performSelector,您將調度活動指示符動畫以結束。
如果你只是想有一個活動的指標運行,而表是裝:
[indicator startAnimating];
[self.tableView reloadData];
[indicator stopAnimating];
那假設你有一個UIActivityIndicator稱爲指標及其hidesWhenStopped屬性設置爲是。
如果你想要做一些其他種類的工作,你最有可能需要做的工作,在一個單獨的線程,調度隊列等
你必須提供更多的上下文。負載在哪裏發生?在表控制器的'viewDidLoad'方法?您應該在實際加載開始之前啓動活動指示器,這應該在後臺線程中進行。 – NikosM