我很新,在這個IOS目標C的東西,所以希望這是一個容易的。iOS查看更改前顯示'正在加載'消息
我有一個rightBarButtonItem,當按下使用push segue移動到下一個視圖。但是,加載該下一個視圖需要一段時間,因爲它涉及數據庫調用。我想按鈕來改變一個UILabel(或者改變UI)來顯示一條消息,指示它正在工作。
我試着在prepareForSegue方法中做事,但這些改變只發生在視圖改變之前,如果有的話。
我應該怎麼做才能找到我想要的?謝謝。
我很新,在這個IOS目標C的東西,所以希望這是一個容易的。iOS查看更改前顯示'正在加載'消息
我有一個rightBarButtonItem,當按下使用push segue移動到下一個視圖。但是,加載該下一個視圖需要一段時間,因爲它涉及數據庫調用。我想按鈕來改變一個UILabel(或者改變UI)來顯示一條消息,指示它正在工作。
我試着在prepareForSegue方法中做事,但這些改變只發生在視圖改變之前,如果有的話。
我應該怎麼做才能找到我想要的?謝謝。
我建議你到MBProgressHUD,它會提出一個很好的模態指標。這很容易實現。
看看這個github演示,並將其用於您的項目。我也建議你爲了更好的執行,對於從後臺數據庫的方法處理量數據使用Grand Central Dispatch (GCD)按你的方法: -
在你viewDidLoad中舉例方法: -
[MBProgressHUD showHUDAddedTo:self.view animated:YES]; //Activity Indicator loading
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self LoadDatabae]; //database data fatch method
dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUDForView:self.view animated:YES]; //hide that after your Dela Loading finished fromDatabase
});
});
您應該在Secondviewcontroller的以下任何一種方法中顯示加載器(在調用數據庫的地方)。
- (void)viewWillAppear:(BOOL)animated
或
- (void)viewDidAppear:(BOOL)animated
編輯:我打字建議MBProgressHUD。感謝Nitin Gohel。
我打字約MBProgressHUD :) upvote那! –
太好了。謝謝。 我有一個問題已經出現在試圖實施你的建議。我的桌面視圖顯示在hud頂部,但其他一切正常。 如何強制tableview等待異步調用完成呈現? – erosebe
你應該在dispatch_async(dispatch_get_main_queue())這個方法的末尾重新加載你的tableview –