Files
keyboard/Pods/LYEmptyView/LYEmptyView/LYEmptyBaseView.m

213 lines
6.7 KiB
Mathematica
Raw Normal View History

2025-11-09 20:54:14 +08:00
//
// LYEmptyBaseView.h
// LYEmptyViewDemo
//
// Created by liyang on 2017/5/5.
// Copyright © 2017 liyang. All rights reserved.
//
#import "LYEmptyBaseView.h"
@interface LYEmptyBaseView ()
@end
@implementation LYEmptyBaseView
#pragma mark - ------------------ Life Cycle ------------------
- (instancetype)init
{
self = [super init];
if (self) {
[self initialize];
[self prepare];
}
return self;
}
- (void)initialize{
}
- (void)prepare{
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
}
- (void)layoutSubviews
{
[super layoutSubviews];
UIView *view = self.superview;
//UIView
if (view && [view isKindOfClass:[UIView class]]){
self.ly_width = view.ly_width;
self.ly_height = view.ly_height;
}
[self setupSubviews];
}
- (void)setupSubviews{
}
- (void)willMoveToSuperview:(UIView *)newSuperview
{
[super willMoveToSuperview:newSuperview];
//UIView
if (newSuperview && ![newSuperview isKindOfClass:[UIView class]]) return;
if (newSuperview) {
self.ly_width = newSuperview.ly_width;
self.ly_height = newSuperview.ly_height;
}
}
#pragma mark - ------------------ ------------------
+ (instancetype)emptyActionViewWithImage:(UIImage *)image
titleStr:(NSString *)titleStr
detailStr:(NSString *)detailStr
btnTitleStr:(NSString *)btnTitleStr
target:(id)target
action:(SEL)action{
LYEmptyBaseView *emptyView = [[self alloc] init];
[emptyView creatEmptyViewWithImage:image imageStr:nil titleStr:titleStr detailStr:detailStr btnTitleStr:btnTitleStr target:target action:action btnClickBlock:nil];
return emptyView;
}
+ (instancetype)emptyActionViewWithImage:(UIImage *)image
titleStr:(NSString *)titleStr
detailStr:(NSString *)detailStr
btnTitleStr:(NSString *)btnTitleStr
btnClickBlock:(LYActionTapBlock)btnClickBlock{
LYEmptyBaseView *emptyView = [[self alloc] init];
[emptyView creatEmptyViewWithImage:image imageStr:nil titleStr:titleStr detailStr:detailStr btnTitleStr:btnTitleStr target:nil action:nil btnClickBlock:btnClickBlock];
return emptyView;
}
+ (instancetype)emptyActionViewWithImageStr:(NSString *)imageStr
titleStr:(NSString *)titleStr
detailStr:(NSString *)detailStr
btnTitleStr:(NSString *)btnTitleStr
target:(id)target
action:(SEL)action{
LYEmptyBaseView *emptyView = [[self alloc] init];
[emptyView creatEmptyViewWithImage:nil imageStr:imageStr titleStr:titleStr detailStr:detailStr btnTitleStr:btnTitleStr target:target action:action btnClickBlock:nil];
return emptyView;
}
+ (instancetype)emptyActionViewWithImageStr:(NSString *)imageStr
titleStr:(NSString *)titleStr
detailStr:(NSString *)detailStr
btnTitleStr:(NSString *)btnTitleStr
btnClickBlock:(LYActionTapBlock)btnClickBlock{
LYEmptyBaseView *emptyView = [[self alloc] init];
[emptyView creatEmptyViewWithImage:nil imageStr:imageStr titleStr:titleStr detailStr:detailStr btnTitleStr:btnTitleStr target:nil action:nil btnClickBlock:btnClickBlock];
return emptyView;
}
+ (instancetype)emptyViewWithImage:(UIImage *)image
titleStr:(NSString *)titleStr
detailStr:(NSString *)detailStr{
LYEmptyBaseView *emptyView = [[self alloc] init];
[emptyView creatEmptyViewWithImage:image imageStr:nil titleStr:titleStr detailStr:detailStr btnTitleStr:nil target:nil action:nil btnClickBlock:nil];
return emptyView;
}
+ (instancetype)emptyViewWithImageStr:(NSString *)imageStr
titleStr:(NSString *)titleStr
detailStr:(NSString *)detailStr{
LYEmptyBaseView *emptyView = [[self alloc] init];
[emptyView creatEmptyViewWithImage:nil imageStr:imageStr titleStr:titleStr detailStr:detailStr btnTitleStr:nil target:nil action:nil btnClickBlock:nil];
return emptyView;
}
+ (instancetype)emptyViewWithCustomView:(UIView *)customView{
LYEmptyBaseView *emptyView = [[self alloc] init];
[emptyView creatEmptyViewWithCustomView:customView];
return emptyView;
}
- (void)creatEmptyViewWithImage:(UIImage *)image imageStr:(NSString *)imageStr titleStr:(NSString *)titleStr detailStr:(NSString *)detailStr btnTitleStr:(NSString *)btnTitleStr target:(id)target action:(SEL)action btnClickBlock:(LYActionTapBlock)btnClickBlock{
_image = image;
_imageStr = imageStr;
_titleStr = titleStr;
_detailStr = detailStr;
_btnTitleStr = btnTitleStr;
_actionBtnTarget = target;
_actionBtnAction = action;
_btnClickBlock = btnClickBlock;
//
if (!_contentView) {
_contentView = [[UIView alloc] initWithFrame:CGRectZero];
[self addSubview:_contentView];
}
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapEmptyView:)];
[self addGestureRecognizer:tap];
}
- (void)creatEmptyViewWithCustomView:(UIView *)customView{
//
if (!_contentView) {
_contentView = [[UIView alloc] initWithFrame:CGRectZero];
[self addSubview:_contentView];
}
if (!_customView) {
[_contentView addSubview:customView];
}
_customView = customView;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapEmptyView:)];
[self addGestureRecognizer:tap];
}
#pragma mark - ------------------ Event Method ------------------
- (void)tapEmptyView:(UITapGestureRecognizer *)tap{
if (_tapEmptyViewBlock) {
_tapEmptyViewBlock();
}
}
#pragma mark - ------------------ Setter ------------------
- (void)setImage:(UIImage *)image{
_image = image;
[self setNeedsLayout];
}
- (void)setImageStr:(NSString *)imageStr{
_imageStr = imageStr;
[self setNeedsLayout];
}
- (void)setTitleStr:(NSString *)titleStr{
_titleStr = titleStr;
[self setNeedsLayout];
}
- (void)setDetailStr:(NSString *)detailStr{
_detailStr = detailStr;
[self setNeedsLayout];
}
- (void)setBtnTitleStr:(NSString *)btnTitleStr{
_btnTitleStr = btnTitleStr;
[self setNeedsLayout];
}
@end