这个是网上抄袭的,改了改:
#import <UIKit/UIKit.h>
@interface LoadingView : UIView {
@private
UIActivityIndicatorView *activityView;
UIView *container;
}
- (id)initWithUIView:(UIView *)aView message:(NSString *)msg;
- (void) show;
- (void) hide;
@end
#import "LoadingView.h"
@implementation LoadingView
- (id)initWithUIView:(UIView *)aView message:(NSString *)msg {
CGRect containerBounds = aView.bounds;
if ((self = [super initWithFrame:aView.bounds])) {
UIColor* bgColor = [[UIColor alloc] initWithRed: 128/255.0 green:138/255.0 blue:135/255.0 alpha:1];
[self setBackgroundColor:bgColor];
[bgColor release];
UIView *content = [[UIView alloc] initWithFrame:CGRectMake((containerBounds.size.width - 200) / 2, (containerBounds.size.height - 100) / 2, 200, 100)];
UIImageView *imageview = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"rssloading.png"]];
imageview.frame = CGRectMake(0.0, 0.0, content.frame.size.width, content.frame.size.height);
[content addSubview:imageview];
[imageview release];
activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityView.frame = CGRectMake(80, 20, 37.0f, 37.0f);
[content addSubview:activityView];
CGRect nameLabelRect = CGRectMake(0, 60, 200, 25);
UILabel *titleLable = [[UILabel alloc] initWithFrame:nameLabelRect];
titleLable.textAlignment = UITextAlignmentCenter;
titleLable.text = msg;
titleLable.font = [UIFont boldSystemFontOfSize:18];
titleLable.alpha = 0.8;
titleLable.backgroundColor = [UIColor clearColor];
titleLable.textColor = [UIColor whiteColor];
[content addSubview: titleLable];
[titleLable release];
[self addSubview:content];
[content release];
[self setAlpha:0.67];
[self setHidden:YES];
container = aView;
[container retain];
}
return self;
}
-(void) show {
[container addSubview:self];
[activityView startAnimating];
[self setHidden:NO];
}
-(void) hide {
[activityView stopAnimating];
[self setHidden:YES];
[self removeFromSuperview];
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
- (void)dealloc {
[activityView release];
[container release];
[super dealloc];
}
@end
效果图: