1. 程式人生 > >UIActivityIndicatorView的兩種形式

UIActivityIndicatorView的兩種形式

用法一:只顯示不停旋轉的進度滾輪指示器。

//顯示進度滾輪指示器

-(void)showWaiting {

progressInd=[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:

 UIActivityIndicatorViewStyleWhiteLarge];

progressInd.center=CGPointMake(self.view.center.x,240);

[self.navigationController.view addSubview:progressInd];

[progressInd

 startAnimating];

}

//消除滾動輪指示器

-(void)hideWaiting 

{

[progressInd stopAnimating];

}

用法二:帶有半透明背景的進度輪指示器。

//顯示進度滾輪指示器

-(void)showWaiting:(UIView *)parent {

    int width = 32, height = 32;

 CGRect frame = CGRectMake(100, 200, 110, 70) ;//[parent frame]; //[[UIScreen mainScreen] applicationFrame];

    int x = frame.size.width;

    int y = frame.size.height;

    frame = CGRectMake((x - width) / 2, (y - height) / 2, width, height);

 UIActivityIndicatorView* progressInd = [[UIActivityIndicatorView alloc]initWithFrame:frame];

    [progressInd startAnimating];

 progressInd.activityIndicatorViewStyle

 = UIActivityIndicatorViewStyleWhiteLarge;

frame = CGRectMake((x - 70)/2, (y - height) / 2 + height, 8020);

UILabel *waitingLable = [[UILabel allocinitWithFrame:frame];

waitingLable.text = @"Loading...";

waitingLable.textColor = [UIColor whiteColor];

waitingLable.font = [UIFont systemFontOfSize:15];

waitingLable.backgroundColor = [UIColor clearColor];

    frame =  CGRectMake(10020011070) ;//[parent frame];

    UIView *theView = [[UIView allocinitWithFrame:frame];

    theView.backgroundColor = [UIColor blackColor];

    theView.alpha = 0.7;

    [theView addSubview:progressInd];

[theView addSubview:waitingLable];

    [progressInd release];

[waitingLable release];

    [theView setTag:9999];

    [parent addSubview:theView];

    [theView release];

}

//消除滾動輪指示器

-(void)hideWaiting 

{

    [[self.view viewWithTag:9999] removeFromSuperview];

}

另一種實現

UIActivityIndicatorView *activityView = [[[UIActivityIndicatorViewalloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge] autorelease];

    activityView.frame = CGRectMake(139.0f-18.0f, 50.0f, 37.0f, 37.0f);

    [self.loadingView addSubview:activityView];

    [activityView startAnimating];

    activityView.center = self.loadingView.center;


[activityView stopAnimating];