仿58同城loading加载界面(可复用)

最近发现MBProgressHUD的loading框有点不好看,所以就写了这个仿58同城的加载loading界面,如果觉得这个动画不符合,可以自己写一个动画,然后调用LoadingView里的方法就可以实现你自己的loading框.(注:动画时网上找到,具体是哪个作者写的我给忘了,感谢作者的开源,如果有作者看到,可以联系我).
其实主要的方法还是可以仿照MBProgressHUD的方法写:

+(instancetype)showLoadingViewToView:(UIView *)view animated:(BOOL)animated{
    LoadingView *loading = [[self alloc] initWithFrame:view.bounds];
    [view addSubview:loading];
    [loading startLoading:animated];
    return loading;
}

+(NSInteger)hideLoadingViewForView:(UIView *)view animated:(BOOL)animated {
    NSArray *huds = [LoadingView allLoadingsForView:view];
    for (LoadingView *loading in huds) {
        [loading stopLoading:animated];
    }
    return [huds count];
}

+ (instancetype)loadingForView:(UIView *)view {
    NSEnumerator *subviewsEnum = [view.subviews reverseObjectEnumerator];
    for (UIView *subview in subviewsEnum) {
        if ([subview isKindOfClass:self]) {
            return (LoadingView *)subview;
        }
    }
    return nil;
}

+ (NSArray *)allLoadingsForView:(UIView *)view {
    NSMutableArray *huds = [NSMutableArray array];
    NSArray *subviews = view.subviews;
    for (UIView *aView in subviews) {
        if ([aView isKindOfClass:self]) {
            [huds addObject:aView];
        }
    }
    return [NSArray arrayWithArray:huds];
}

主要的就是这几个方法.
用的时候需要导入头文

#import "LoadingView.h"

然后,在请求之前调用方法

[LoadingView showLoadingViewToView:self.view animated:YES];

请求完成时,需要隐藏loading框

[LoadingView hideLoadingViewForView:self.view animated:YES];

这就完成了.是不是很简单,想要换动画的话,就自己写一个专属的动画,这样就可以实现自己的加载loading框了.
点击此处下载demo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,196评论 4 61
  • 在夜晚的月亮下,我想你拥抱你,用我们的阳光温暖你的心,让你带着温暖露出你的笑容。 在人潮人海里,我想拥抱你,用我...
    知秋業阅读 359评论 1 1
  • 揭秘孩子大脑发育规律,大脑发育的关键期如何营养补给? 吴晓辉 0到6岁时期 运动,语言,情商...
    阿乐的后花园阅读 195评论 0 1