UIProgressHUD / 어플 실행 및 , 데이터 호출시 "로딩중" 메세지처리
아이폰 어플은 거의 대부분 로딩중이라는 메세지가 나타나길레.. 대부분 자동으로 처리되는줄 알았습니다..
그런데;;; 아니더군요 -_-;;
UIActivaityIndicatorView 의 경우 별도 스타일이나 지원되는 것이 있는듯하나..
모두다 호출전 출력 / 호출후 출력.. 노가다를 통해 진행한듯합니다
아직 잘은 모르겠지만.
앱을 이용하는 이용자가 마냥 기다리지않도록 처리해야하는 로딩메세지는 상당히 중요한 UI중에 하나인데요
여러책에도 나왔지만 구체적으로 어떤 방법으로 처리되는지 나와있는게 없어 포스팅합니다.
보통 "Delegate -> 메인뷰 -> 서브뷰" 형태로 진행이되는데요
우선 메인뷰에 적용한 소스입니다.
해당 소스를 Delegate 에 동일하게 추가하셔도 이용이 가능합니다
============= 헤더파일 ==================
#import <UIKit/UIKit.h>
//프로그래스 - 로딩메세지
@interface UIProgressHUD : NSObject
- (UIProgressHUD *) initWithWindow: (UIView*)aWindow;
- (void) show: (BOOL)aShow;
- (void) done;
- (void) hide;
- (void) setText: (NSString*)aText;
@end
@interface MainView : UIViewController{
UIProgressHUD *hud;
}
@end
=====================================
상위 @interface UIProgressHUD : NSObject 부분부터 @end 까지 별도 해당 소스가 추가되며.
============= 메인파일 ==================
//프로그레스 - 로딩메세지
-(void)mostraProgressHUD:(BOOL)done{
hud = [[UIProgressHUD alloc] initWithWindow:self.view];
//hud = [[UIProgressHUD alloc] initWithWindow:self.window]; //Delegate 에 추가시 해당 부분을 self.window로 변경하여 이용
//hud = [[UIProgressHUD alloc] initWithWindow:self.window]; //Delegate 에 추가시 해당 부분을 self.window로 변경하여 이용
if(done){
[hud setText:@"로딩완료"];
}else{
[hud setText:@"로딩중"];
}
[hud show:YES];
if(done){
[hud done];
}
}
//프로그래스 로딩메세지
-(void)escondeProgressHUD{
if (hud != nil){
[hud hide];
hud = nil;
}
}
=====================================
메인파일은 mostraProgressHUD / escondeProgressHUD 두개가 추가하시고.
팝업호출은 [self mostraProgressHUD:NO]; 과
[self mostraProgressHUD:YES]; 로 호출하시면 됩니다.프로그레스의 좀더 구체적이고 자동화되어있는것이 있으면 별도 포스팅을 하겠습니다.
기타 다른 함수는
[hud show];
[hud done];
[hud hide];
[hud setText:@"하이욤"];
과같이 이용하시면 됩니다.
P.S : 아시죠?? 해당 소스는 특정 저자의 소스를 인용한것이 아닙니다.
애플개발자 레퍼런스와, 외국 개발자들의 소스를 인용한것이며.
누구를 가르키기 위함이 아니라.
제가 개발중 까먹는것을 대비해서 포스팅하는것입니다.
'iOS' 카테고리의 다른 글
GCD와 Block을 이용해서 비동기 방식으로 URL 이미지 로드하기 (0) | 2012.08.27 |
---|---|
UIActivityIndicator – whilst loading map pins in background thread. (0) | 2012.08.27 |
aes-128을 사용한 app과 server의 통신 (1) | 2012.08.26 |
PullToRefresh iOS 5 and ARC Tutorial (0) | 2012.08.22 |
UINavigationController Customization (title, background color, image, add button) (0) | 2012.08.22 |