Нужна помощь в UIActivityIndicatorView - iPhone - PullRequest
0 голосов
/ 18 июля 2011

Так как я новичок в iPhone, у меня небольшая проблема. Я хочу использовать UIActivityIndicatorView в моем приложении. Так как я успешно пользовался индикатором ViewView, но я хочу отобразить IndicatorView с размытым фоном, чтобы я не мог нажать на кнопку «Текущая активность».

Пожалуйста, друзья

Проведи меня к какому-нибудь учебнику или коду.

Заранее большое спасибо

Ответы [ 3 ]

4 голосов
/ 18 июля 2011

Вот, пожалуйста, это моя реализация, но вы можете изменить.Разместите код в приложении Delegate и используйте его в любом месте приложения.

#pragma mark -
#pragma mark Waiting View
- (void)showWaitingView {

    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    CGRect frame = CGRectMake(90, 190, 32, 32);
    UIActivityIndicatorView* progressInd = [[UIActivityIndicatorView alloc] initWithFrame:frame];
    [progressInd startAnimating];
    progressInd.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;

    frame = CGRectMake(130, 193, 140, 30);
    UILabel *waitingLable = [[UILabel alloc] initWithFrame:frame];
    waitingLable.text = @"Processing...";
    waitingLable.textColor = [UIColor whiteColor];
    waitingLable.font = [UIFont systemFontOfSize:20];;
    waitingLable.backgroundColor = [UIColor clearColor];
    frame = [[UIScreen mainScreen] applicationFrame];
    UIView *theView = [[UIView alloc] initWithFrame:frame];
    theView.backgroundColor = [UIColor blackColor];
    theView.alpha = 0.7;
    theView.tag = 999;
    [theView addSubview:progressInd];
    [theView addSubview:waitingLable];

    [progressInd release];
    [waitingLable release];

    [window addSubview:[theView autorelease]];
    [window bringSubviewToFront:theView];
    [pool drain];
}

- (void)removeWaitingView {
    UIView *v = [window viewWithTag:999];
    if(v) [v removeFromSuperview];

}
0 голосов
/ 18 июля 2011

можете попробовать это также:

-(UIAlertView *)showActivityIndicator :(NSString *)message
{

alertViewProgress = [[UIAlertView alloc] initWithTitle:message message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles:nil];       
UIActivityIndicatorView *activity =[[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(120,50,37,37)];
    activity.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
    [activity startAnimating];
    [alertViewProgress addSubview:activity];
    [activity release];
    [alertViewProgress show];
    return alertViewProgress;
}
0 голосов
/ 18 июля 2011

Сначала вы должны добавить представление с черным фоном и alpha из 0.3 или чем-то еще. Затем добавьте индикатор активности над представлением.

// an example
[self.view addSubview:aSemiTransparentBlackView];
[self.view addSubview:activityIndicator];
...