我知道我可以在任何時候使用SVProgressHUD
來告訴用戶某些東西正在被加載到整個屏幕上。在iOS 7上指出UITableView加載活動的正確方法是什麼?
但是,是否有一種常規方式在iOS 7設計指南中顯示UITableView
內部的活動指示器或微調器。我認爲SVProgressHUD在iOS 7中只是醜陋的,我認爲必須有更好的解決方案。
蘋果如何做到這一點?
我知道我可以在任何時候使用SVProgressHUD
來告訴用戶某些東西正在被加載到整個屏幕上。在iOS 7上指出UITableView加載活動的正確方法是什麼?
但是,是否有一種常規方式在iOS 7設計指南中顯示UITableView
內部的活動指示器或微調器。我認爲SVProgressHUD在iOS 7中只是醜陋的,我認爲必須有更好的解決方案。
蘋果如何做到這一點?
這樣做的蘋果方式是通過在表視圖頂部顯示活動指標。
您可以檢查Native Mail應用程序是否正常工作。
實現 -
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
可以啓動/停止使用這些方法提神。
- beginRefreshing - endRefreshing
我想了一會兒這一個以及與下面的解決方案上來:
通過利用表視圖的backgroundView
屬性,你可以設置一個專門的背景圖,該可以按照你想要的方式進行設計。
在viewDidLoad
方法中粘貼以下代碼,將創建的視圖分配給表視圖的背景。確保你設置的標識符替換爲之前設置的標識符。
self.tableView.backgroundView = ((UIViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"yourStoryboardID"]).view;
self.tableView.backgroundColor = [UIColor whiteColor];
當你準備好隱瞞裝載視圖,只需做到以下幾點:
self.tableView.backgroundView.hidden = YES;
我希望這有助於。
在tableView.backgroundView的文檔中:「您必須將此屬性設置爲nil來設置表視圖的背景顏色。」 – mbeaty
爲了詳細闡述這一點,請查看[棧溢出問題](http://stackoverflow.com/questions/17930730/uirefreshcontrol-on-viewdidload)上的接受答案,因爲它給出了一個完整的例子。 –