오랫동안 대기중인 작업이 진행 중일 때 많은 앱에서 사용하는보기의 검은 색/회색 모달 팝업 종류를 만드는 방법은 무엇입니까?iPhone SDK를 사용하여 "로드 중 ..."보기 만들기
처럼 웹 페이지를로드, 위치 기반 서비스를 사용하여, 화면이 어두워 가서 회전 아이콘을 보여주는 모달 뷰가 "기다려주십시오이 ..."다음 스크린 샷
예 :
오랫동안 대기중인 작업이 진행 중일 때 많은 앱에서 사용하는보기의 검은 색/회색 모달 팝업 종류를 만드는 방법은 무엇입니까?iPhone SDK를 사용하여 "로드 중 ..."보기 만들기
처럼 웹 페이지를로드, 위치 기반 서비스를 사용하여, 화면이 어두워 가서 회전 아이콘을 보여주는 모달 뷰가 "기다려주십시오이 ..."다음 스크린 샷
예 :
문서화되지 않은 API를 피하려면 MBProgressHUD을 살펴보십시오. 이는 UIProgressHUD와 유사하며 몇 가지 추가 기능을 제공합니다.
실제로 이것은 2.2.1 어쨌든 문서화되지 않은 UIProgressHUD입니다. 이 같은 일을 만듭니다
- (void) killHUD: (id)aHUD
{
[aHUD show:NO];
[aHUD release];
}
- (void) presentSheet
{
id HUD = [[UIProgressHUD alloc] initWithWindow:[contentView superview]];
[HUD setText:@"Doing something slow. Please wait."];
[HUD show:YES];
[self performSelector:@selector(killHUD:) withObject:HUD afterDelay:5.0];
}
이것을 사용하고 App Store에 제출할 수 있습니까? –
예, 이것은 비공개 API에 연결되지 않습니다. 우리는 UIAlertView의 버튼과 비슷한 것을했는데 문제없이 리뷰를 진행했습니다. – zoul
나는 그것을 몰랐다 - 감사 zoul. –
당신이 전체를 다룰 것입니다 메인 윈도우의 하위 뷰를 같이하여 UIView를 추가 할 경우 :하는 .m에서
@interface UIProgressHUD : NSObject
- (UIProgressHUD *) initWithWindow: (UIView*)aWindow;
- (void) show: (BOOL)aShow;
- (void) setText: (NSString*)aText;
@end
: 당신의 .H에서
을 UI. 부분적으로 투명하고 부분적으로 반투명하게 만들어 팝업처럼 보입니다.
이 예제는 fade the Default.png splash screen으로 시작하는 방법을 보여줍니다. 시작 방법은 응용 프로그램 대리인 (주 창에 대한 포인터 있음)에 몇 가지 메서드를 추가하여 진행률보기를 표시하고 해제하는 방법입니다.
안녕 duncanwilcox, 나는 이것도 원했던 ... default.png 화면을 변색 ... :) 고마워 ... 내가 아직 물어 보지 않은 질문에 대답하는 것 같다 ... : D – Mugunth
문서화되지 않은 API를 사용하지 않고이를 수행하는 방법에 대한 예제는 Wordpress iPhone 앱 (http://iphone.wordpress.org/)을 살펴보십시오.
나는 이러한 목적으로을로드하는 LoadingHUDView를 사용하며 항상 작동합니다.
은 당신의 기본 클래스 (또는 무엇이든)이 도움이
#pragma mark ActivityIndicator Methods
-(void) showModalActivityIndicator:(NSString *)message
{
loadingView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]retain];// origional
//loadingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; //testing
loadingView.backgroundColor = [UIColor grayColor]; //[UIColor colorWithRed:1 green:1 blue:1 alpha:0.3];
LoadingHUDView *loadHud = [[LoadingHUDView alloc] initWithTitle:message];
loadHud.center = CGPointMake(160, 290);
[loadingView addSubview:loadHud];
[loadHud startAnimating];
[loadHud release];
[loadingView setAlpha:0.0];
[self.tableView addSubview:loadingView];
[UIView beginAnimations:@"fadeOutSync" context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[loadingView setAlpha:0.5];
[UIView commitAnimations];
}
-(void) hideModalActivityIndicator {
if (loadingView) {
[UIView beginAnimations:@"fadeOutSync" context:NULL];
[UIView setAnimationDidStopSelector:@selector (removeTranparentView) ];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[loadingView setAlpha:0];
[UIView commitAnimations];
}
}
-(void)removeTranparentView
{
[loadingView removeFromSuperview];
[loadingView release];
loadingView = nil;
}
HOPE에서 다음 LoadingHUDView.m 얻을 LoadingHUDView.h 및 않습니다. 는 완전히 문서화, 당신이
다음과 같이 사용하십시오 : \t [self showModalActivityIndicator : @ "Logging you in ..."]; – thesummersign
내가 가장 간단한 (몇 줄의 코드를) 생각 감사하고 가장 아름다운 방법은 UIActivityIndicatorView으로 UIAlertView를 사용하는 것입니다
http://iosdevelopertips.com/user-interface/uialertview-without-buttons-please-wait-dialog.html
이것은 훌륭한 솔루션 이었지만 더 이상 iOS 7에서 작동하지 않습니다. – HughHughTeotl
XIB에서 파일, UIView 및 UIActivityIndicatorView를 배치하십시오. ActivityIndicatorView 속성 SetAnimated를 Yes로 설정하십시오.
@property (유지, 비 구조) IBOutlet UIView * m_LoadingView; 긴 작업을 시작하는 동안
는 과정을 완료 한 후보기m_LoadingView.layer.cornerRadius = 10;
m_LoadingView.center = self.view.center;
[self.view addSubview:m_LoadingView];
에 LoadingView 추가 슈퍼 볼에서 LoadingView를 제거합니다. [m_LoadingView removeFromSuperView];
URL은 404를 제공합니까? –
죄송합니다. http://github.com/matej/MBProgressHUD에서 받으십시오. –