SVProgressHUDとNSTimerを使う
さて、本日はさくっとメモしておきます。
できると思っていて当然できた話なので、本当にメモです笑。
AFNetworkingなどでどこかしらのサーバに通信している間、画面をユーザに触らせたくないことがあるかもしれません。
そんなときはローディングウィンドウをSVProgressHUDで表示し、 NSTimer を使って時間で操ります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| #import "ViewController.h"
#import "SVProgressHUD.h"
@interface ViewController ()
@property (strong, nonatomic) NSTimer *timer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (IBAction)showLoadWindow:(id)sender {
// ローディングウィンドウの表示
[SVProgressHUD showWithStatus:@"Loading..." maskType:SVProgressHUDMaskTypeGradient];
// タイマーの設定
_timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(hiddenWindow:) userInfo:nil repeats:NO];
}
/**
タイマー対象メソッド(ローディングウィンドウを非表示にする処理)
@param timer タイマー
*/
- (void)hiddenWindow:(NSTimer *)timer
{
[SVProgressHUD dismiss];
}
@end
|
よし、できた!ってところでメモ書き終了。