逐帧动画做loading视图

本文介绍了如何封装一个可复用的Loading视图组件,该组件使用逐帧动画创建周期性的加载效果。通过提供的.h和.m文件代码示例,详细展示了初始化视图的过程。
摘要由CSDN通过智能技术生成

我封装了一个可复用的loading视图组件,用于按照一定周期逐帧播放加载动画。代码如下:

.h文件

#import <UIKit/UIKit.h>

//加载状态
typedef enum {
    FZImageSequenceLoadingStatusStop = 1,          // 停止
    FZImageSequenceLoadingStatusLoading,         // 加载中
    FZImageSequenceLoadingStatusError   //发生错误
} FZImageSequenceLoadingStatus;

@interface FZImageSequenceLoadingView : UIView {
    UIImageView *_imageView;
    UILabel *_lblMsg;
    NSTimer *timer;
    int currentImageIndex;
}

@property(strong) NSArray *imageArray;  //动画序列的图片数组

@property(strong, nonatomic) UIImage *errorImage;

@property(nonatomic, strong) NSString *errorMsg;

@property(nonatomic, strong) NSString *loadingMsg; //提示文字

@property(nonatomic) CGRect imageFrame; //图片的Frame

@property(nonatomic) CGRect msgFrame;   //文字内容的Frame

@property(nonatomic) float timerInterval; //切换图片的周期

/**
 切换状态
 */
- (void)switchToStatus:(FZImageSequenceLoadingStatus)status;

/**
 通过图片名字和数量设置图片数组,如给定名字"name"、“.png”和数量4,则会去加载“name_1.png”到"name_4.png"的图片
 */
- (void)setImageArrayByName:(NSString *)name andExtName:(NSString *)extName andCount:(int)count;

@end

.m文件

#import "FZImageSequenceLoadingView.h"

@implementation FZImageSequenceLoadingView

@synthesize errorImage
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值