From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001 From: 单军华 Date: Wed, 11 Jul 2018 10:47:42 +0800 Subject: [PATCH] 首次上传 --- screendisplay/screendisplay/Classes/Helpers/LMJEasyBlankPageView.m | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 167 insertions(+), 0 deletions(-) diff --git a/screendisplay/screendisplay/Classes/Helpers/LMJEasyBlankPageView.m b/screendisplay/screendisplay/Classes/Helpers/LMJEasyBlankPageView.m new file mode 100755 index 0000000..ddab12d --- /dev/null +++ b/screendisplay/screendisplay/Classes/Helpers/LMJEasyBlankPageView.m @@ -0,0 +1,167 @@ +// +// LMJEasyBlankPageView.m +// iOSProject +// +// Created by windshan on 2017/12/29. +// Copyright �� 2017��� windshan. All rights reserved. +// + +#import "LMJEasyBlankPageView.h" + +@interface LMJEasyBlankPageView() +/** ������������ */ +@property (weak, nonatomic) UIButton *reloadBtn; +/** ������ */ +@property (weak, nonatomic) YYAnimatedImageView *imageView; +/** ������ label */ +@property (weak, nonatomic) UILabel *tipLabel; +/** ������������ */ +@property (nonatomic, copy) void(^reloadBlock)(UIButton *sender); +@end + +@implementation LMJEasyBlankPageView +- (void)willMoveToSuperview:(UIView *)newSuperview +{ + [super willMoveToSuperview:newSuperview]; + self.backgroundColor = newSuperview.backgroundColor; +} + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + [self.tipLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.offset(0); + make.left.right.equalTo(self.imageView); + make.top.mas_offset(frame.size.height * 0.2); + }]; + + [self.imageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.tipLabel.mas_bottom).offset(10); + make.centerX.offset(0); + }]; + + [self.reloadBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.centerX.offset(0); + make.top.mas_equalTo(self.imageView.mas_bottom).offset(10); +// make.width.mas_equalTo(@94); + make.height.mas_equalTo(44); + }]; + } + return self; +} + +- (void)configWithType:(LMJEasyBlankPageViewType)blankPageType hasData:(BOOL)hasData hasError:(BOOL)hasError reloadButtonBlock:(void(^)(UIButton *sender))block +{ + if (hasData) { + [self removeFromSuperview]; + return; + } + + self.reloadBtn.hidden = YES; + self.tipLabel.hidden = YES; + self.imageView.hidden = YES; + self.reloadBlock = block; + + if (hasError) { + [self.imageView setImage:[UIImage imageNamed:@"common_noNetWork"]]; + self.tipLabel.text = @"���������������������"; + self.reloadBtn.hidden = NO; + self.tipLabel.hidden = NO; + self.imageView.hidden = NO; + } else { + if (blankPageType == LMJEasyBlankPageViewTypeNoData) { + [self.imageView setImage:[UIImage imageNamed:@"common_noRecord"]]; + self.tipLabel.text = @"������������"; + self.reloadBtn.hidden = NO; + self.tipLabel.hidden = NO; + self.imageView.hidden = NO; + } + } +} + +- (void)reloadClick:(UIButton *)btn +{ + !self.reloadBlock ?: self.reloadBlock(btn); +} + +- (UIButton *)reloadBtn +{ + if(!_reloadBtn) + { + UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; + [self addSubview:btn]; + _reloadBtn = btn; + + [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; + [btn setBackgroundColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; + [btn setBackgroundColor:[UIColor darkGrayColor] forState:UIControlStateHighlighted]; + [btn setTitle:@"������������������" forState:UIControlStateNormal]; + [btn addTarget:self action:@selector(reloadClick:) forControlEvents:UIControlEventTouchUpInside]; + } + return _reloadBtn; +} + +- (YYAnimatedImageView *)imageView +{ + if(!_imageView) + { + YYAnimatedImageView *imageView = [[YYAnimatedImageView alloc] init]; + imageView.autoPlayAnimatedImage = YES; + [self addSubview:imageView]; + _imageView = imageView; + } + return _imageView; +} + +- (UILabel *)tipLabel +{ + if(!_tipLabel) + { + UILabel *label = [[UILabel alloc] init]; + [self addSubview:label]; + _tipLabel = label; + label.numberOfLines = 0; + label.textAlignment = NSTextAlignmentCenter; + label.backgroundColor = [UIColor lightGrayColor]; + label.textColor = [UIColor blackColor]; + label.font = [UIFont systemFontOfSize:16]; + } + return _tipLabel; +} + +@end + + + +static void *BlankPageViewKey = &BlankPageViewKey; + +@implementation UIView (LMJConfigBlank) + +- (void)setBlankPageView:(LMJEasyBlankPageView *)blankPageView{ + objc_setAssociatedObject(self, BlankPageViewKey, + blankPageView, + OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (LMJEasyBlankPageView *)blankPageView{ + return objc_getAssociatedObject(self, BlankPageViewKey); +} + +- (void)configBlankPage:(LMJEasyBlankPageViewType)blankPageType hasData:(BOOL)hasData hasError:(BOOL)hasError reloadButtonBlock:(void (^)(id))block{ + if (hasData) { + if (self.blankPageView) { + self.blankPageView.hidden = YES; + [self.blankPageView removeFromSuperview]; + } + }else{ + if (!self.blankPageView) { + self.blankPageView = [[LMJEasyBlankPageView alloc] initWithFrame:CGRectMake(0, 0, self.lmj_width, self.lmj_height)]; + } + self.blankPageView.hidden = NO; + [self addSubview:self.blankPageView]; + [self.blankPageView configWithType:blankPageType hasData:NO hasError:hasError reloadButtonBlock:block]; + } +} + +@end -- Gitblit v1.8.0