网络加载的实现+系统菊花的使用

    xiaoxiao2021-03-25  97

    网络缓慢时候,通常会有一个网络加载的界面,如图所示

    一、加载界面的封装

    //LoadingView.h @property (nonatomic,strong) UILabel *tipLab; @property (nonatomic,strong) UIActivityIndicatorView *activity; - (void)startAmazing; - (void)stopAmazing; //LoadingView.m - (instancetype)initWithFrame:(CGRect)frame { if (self=[super initWithFrame:frame]) { self.backgroundColor = [UIColor whiteColor]; self.hidden=YES; [self createUI]; } return self; } - (void)createUI { //系统菊花的初始化 _activity = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray ]; _activity.centerX = self.centerX; _activity.centerY = self.centerY-120; [self addSubview:_activity]; _tipLab = [[UILabel alloc] init]; _tipLab.frame = CGRectMake(0, _activity.bottom+20, ScreenWidth, 16); _tipLab.text = @"努力加载中,请稍后..."; _tipLab.hidden=YES; _tipLab.textColor = H_GRAYTEXTCOLOR; _tipLab.textAlignment = NSTextAlignmentCenter; _tipLab.font = H_FONTCONTENTNAME; [self addSubview:_tipLab]; } - (void)startAmazing { self.hidden=NO; _tipLab.hidden=NO; //菊花开始 [_activity startAnimating]; } - (void)stopAmazing { self.hidden=YES; _tipLab.hidden=YES; //菊花结束 [_activity stopAnimating]; }

    二、在BaseViewController的基类中初始化

    _loadingV = [[LoadingView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight)]; //将_loadingV添加到controller的最顶层 _loadingV.layer.zPosition = 10; [self.view addSubview:_loadingV];

    三、各个ControllView的调用

    //在网络请求的方法中添加 - (void)downLoadData{ [self.loadingV startAmazing]; 网络请求:success{ [self.loadV stopAmazing]; } failure{ [self.loadV stopAmazing]; } }

    四、菊花的属性 《1》初始化方法

    - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style; - (instancetype)initWithFrame:(CGRect)frame; //其中的第一个初始化方法参数style是个枚举类型。 typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { UIActivityIndicatorViewStyleWhiteLarge, //大小是(37,37) UIActivityIndicatorViewStyleWhite, //大小是(22,22)白色 UIActivityIndicatorViewStyleGray, //大小是(22,22)灰色 };

    《2》公开方法

    - (void)startAnimating; //开启动画,也就是开始旋转。 - (void)stopAnimating; //停止动画,旋转。 - (BOOL)isAnimating; //获取状态 ,0 NO 表示正在旋转,1 YES 表示没有旋转。

    《3》公开属性

    // 默认是UIActivityIndicatorViewStyleWhite @property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle; // 默认是 YES. 设置动画结束是否隐藏控件。 @property(nonatomic) BOOL hidesWhenStopped; //设置菊花的颜色 @property (nullable, readwrite, nonatomic, strong) UIColor *color //菊花的背景颜色 @property (nonatomic) UIColor *backgroundColor
    转载请注明原文地址: https://ju.6miu.com/read-14327.html

    最新回复(0)