在我的firstViewController
中有UIButton
(GalleryButton),在我的secondViewController
中有UITableView
。當用戶點擊GalleryButton時,需要2-3秒的時間才能打開secondViewController
並加載圖像。我想顯示一個UIActivityIndicator
,直到加載secondViewController
。怎麼做?活動指示器直到加載下一個視圖
0
A
回答
0
您應該加載在後臺線程中的圖像,並在主線程顯示UIActivityIndicator
。我已經回答了類似的問題在這裏:https://stackoverflow.com/a/41529056/1370336
// Main thread by default:
// show progress bar here.
DispatchQueue.global(qos: .background).async {
// Background thread:
// start loading your images here
DispatchQueue.main.async {
// Main thread, called after the previous code:
// hide your progress bar here
}
}
+0
我是新來的。你能告訴我我應該在哪裏寫這個代碼? 順便說一下,我正在轉移到** secondViewController **通過** show segue **在故事板。 –
+0
這段代碼應該放在'secondViewController'中,你要加載你的圖片(我在viewDidLoad方法中猜測)。 –
2
在你的第二個視圖控制器創建活動指示燈Programetically
var activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.Gray)
添加下面的代碼中的第二個視圖的viewDidLoad()位指示
activityIndicator.hidesWhenStopped = true
activityIndicator.center = view.center
activityIndicator.startAnimating() //For Start Activity Indicator
當數據被填入表視圖完全不是添加以下代碼回採活動指示燈
activityIndicator.stopAnimating() //For Stop Activity Indicator
0
這個工作對我來說
#import "ViewController.h"
#import "NextVC.h"
@interface ViewController()
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *aiStart;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.aiStart.hidden = YES;
}
- (void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
self.aiStart.hidden = YES;
[self.aiStart stopAnimating];
}
- (IBAction)btnShowNextVCTapped:(id)sender {
dispatch_async(dispatch_get_main_queue(), ^{
self.aiStart.alpha = 0;
self.aiStart.hidden = NO;
[self.aiStart startAnimating];
[UIView animateWithDuration:0.3 animations:^{
self.aiStart.alpha = 1;
} completion:^(BOOL finished) {
NextVC* nextVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NextVC"];
[self presentViewController:nextVC animated:YES completion:nil];
}];
});
}
相關問題
- 1. 顯示進度條直到下一個活動被加載
- 2. 設置活動指示器,直到從服務器加載圖像爲止?
- 3. 如何運行活動指示器直到下載圖像完成
- 4. 如何將活動指示器添加到圖像加載
- 5. 將活動指示器添加到Web視圖
- 6. 如何運行活動指標直到下載圖片?
- 7. Xcode顯示加載視圖,直到第二個視圖加載(在segue顯示)
- 8. 如何顯示活動指示器視圖,直到函數完全執行?
- 9. 顯示活動指標,同時改變視圖(賽格)和加載數據的下一個視圖(API)
- 10. 如何在UITableView下添加一個活動指示器?
- 11. 將活動指示器添加到另一視圖以查看另一個視圖時發生內存泄漏
- 12. 異步加載JSON並顯示活動指標視圖
- 13. 如何顯示加載動畫,並避免任何用戶交互,直到下一個活動加載?
- 14. 將活動指示器添加到UIAlertView
- 15. 活動指示燈不啓動時的視圖控制器是導航到另一個視圖控制器
- 16. 顯示正在加載活動直到主要活動已滿加載
- 17. 作爲一個表視圖的活動指標加載另一個
- 18. 添加一個活動指示器到標籤欄
- 19. 活動時推動下一個視圖指標 - didSelectRowAtIndexPath
- 20. 直接從Android活動下載圖像
- 21. 在UIScrollView中加載圖像時的活動指示器
- 22. 如何顯示活動指標,直到數據加載到UITableView中?
- 23. 問題加載下一個活動
- 24. 在加載時在UITableView的底部添加一個活動指示器
- 25. 顯示進度條,直到下一個活動開始
- 26. Angular2:顯示每個HTTP請求的活動指示器並隱藏視圖直到完成
- 27. 顯示懶圖像加載滾動視圖的DISPLY indivial圖像加載通過活動的指標
- 28. 如何將啓動畫面加載視圖直到其加載
- 29. 如何在多個視圖中使用一個活動指示器?
- 30. Progresscircle直到活動確實加載
你可能會被告知在後臺立即轉換和加載圖像。這樣用戶就擁有了更加無縫的體驗。 – BallpointBen
似乎在主線程上運行的第二個視圖控制器中有一個下載過程... –
沒有下載過程。圖像從PhotoLibrary –