| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- //
- // BAGridCollectionCell.m
- // BAKit
- //
- // Created by boai on 2017/4/14.
- // Copyright © 2017年 boaihome. All rights reserved.
- //
- #import "BAGridCollectionCell.h"
- #import "BAGridItemModel.h"
- #import "BAKit_ConfigurationDefine.h"
- #import "NSString+BAGridView.h"
- #import <SDWebImage/UIImageView+WebCache.h>
- @interface BAGridCollectionCell ()
- @property(nonatomic, strong) UIImageView *imageView;
- @property(nonatomic, strong) UILabel *titleLabel;
- @property(nonatomic, strong) UIView *lineView_w;
- @property(nonatomic, strong) UIView *lineView_h;
- @end
- @implementation BAGridCollectionCell
- - (instancetype)initWithFrame:(CGRect)frame
- {
- if (self = [super initWithFrame:frame])
- {
- [self setupUI];
- }
- return self;
- }
- - (void)setupUI
- {
- self.titleLabel.hidden = NO;
- self.imageView.hidden = NO;
-
- self.lineView_w.backgroundColor = BAKit_Color_Gray_11_pod;
- self.lineView_h.backgroundColor = BAKit_Color_Gray_11_pod;
- }
- - (void)layoutSubviews
- {
- [super layoutSubviews];
-
- CGFloat view_w = self.bounds.size.width;
- CGFloat view_h = self.bounds.size.height;
- CGFloat min_x = 0;
- CGFloat min_y = 0;
- CGFloat min_w = 0;
- CGFloat min_h = 0;
-
- min_w = view_h * 0.4;
- min_h = min_w;
- min_x = (view_w - min_w) / 2;
- min_y = CGRectGetMidY(self.bounds) - min_w / 2 - view_h * 0.15;
- self.imageView.frame = BAKit_CGRectFlatMake_pod(min_x, min_y, min_w, min_h);
-
- min_x = 0;
- min_y = CGRectGetMaxY(self.imageView.frame) + self.ba_gridView_itemImageInset;
- min_w = view_w - self.ba_gridView_lineWidth;
- min_h = view_h - min_y;
- self.titleLabel.frame = BAKit_CGRectFlatMake_pod(min_x, min_y, min_w, min_h);
-
- min_x = view_w - self.ba_gridView_lineWidth;
- min_y = 0;
- min_w = self.ba_gridView_lineWidth;
- min_h = view_h;
- self.lineView_h.frame = BAKit_CGRectFlatMake_pod(min_x, min_y, min_w, min_h);
-
- min_x = 0;
- min_y = view_h - self.ba_gridView_lineWidth;
- min_w = view_w;
- min_h = self.ba_gridView_lineWidth;
- self.lineView_w.frame = BAKit_CGRectFlatMake_pod(min_x, min_y, min_w, min_h);
- }
- #pragma mark - setter / getter
- - (UILabel *)titleLabel
- {
- if (!_titleLabel)
- {
- _titleLabel = [UILabel new];
- _titleLabel.textAlignment = NSTextAlignmentCenter;
- _titleLabel.font = [UIFont systemFontOfSize:16];
- [self.contentView addSubview:_titleLabel];
- }
- return _titleLabel;
- }
- - (UIImageView *)imageView
- {
- if (!_imageView)
- {
- _imageView = [UIImageView new];
- _imageView.backgroundColor = BAKit_Color_Clear_pod;
-
- [self.contentView addSubview:_imageView];
- }
- return _imageView;
- }
- - (UIView *)lineView_w
- {
- if (!_lineView_w)
- {
- _lineView_w = [UIView new];
- [self.contentView addSubview:_lineView_w];
- }
- return _lineView_w;
- }
- - (UIView *)lineView_h
- {
- if (!_lineView_h)
- {
- _lineView_h = [UIView new];
-
- [self.contentView addSubview:_lineView_h];
- }
- return _lineView_h;
- }
- - (void)setModel:(BAGridItemModel *)model
- {
- _model = model;
-
- if ([NSString ba_regularIsUrl:model.imageName])
- {
- [self.imageView sd_setImageWithURL:[NSURL URLWithString:model.imageName] placeholderImage:BAKit_ImageName(model.placdholderImageName)];
- }
- else
- {
- self.imageView.image = BAKit_ImageName(model.imageName);
- }
- self.titleLabel.text = model.titleString;
-
- }
- - (void)setBa_gridView_titleColor:(UIColor *)ba_gridView_titleColor
- {
- _ba_gridView_titleColor = ba_gridView_titleColor;
-
- self.titleLabel.textColor = ba_gridView_titleColor;
- }
- - (void)setBa_gridView_lineColor:(UIColor *)ba_gridView_lineColor
- {
- _ba_gridView_lineColor = ba_gridView_lineColor;
-
- self.lineView_w.backgroundColor = ba_gridView_lineColor;
- self.lineView_h.backgroundColor = ba_gridView_lineColor;
- }
- - (void)setBa_gridView_lineWidth:(CGFloat)ba_gridView_lineWidth
- {
- _ba_gridView_lineWidth = ba_gridView_lineWidth;
- }
- - (void)setBa_gridView_titleFont:(UIFont *)ba_gridView_titleFont
- {
- _ba_gridView_titleFont = ba_gridView_titleFont;
- self.titleLabel.font = ba_gridView_titleFont;
- }
- @end
|