123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- //
- // FBLeftAndRightCell.m
- // FreedomBoat
- //
- // Created by 刘惠萍 on 2019/11/14.
- // Copyright © 2019 刘惠萍. All rights reserved.
- //
- #import "FBLeftAndRightCell.h"
- @implementation FBLeftAndRightCell
- #pragma mark 懒加载
- - (UIImageView *)iconImg{
- if (_iconImg == nil) {
- _iconImg = [UIImageView new];
- _iconImg.widthHeight = XY(W(19),W(19));
- }
- return _iconImg;
- }
- - (UILabel *)labelTitle{
- if (_labelTitle == nil) {
- _labelTitle = [UILabel new];
- _labelTitle.textColor = COLOR_LABEL;
- _labelTitle.fontNum = F(15);
- _labelTitle.numberOfLines = 0;
- _labelTitle.lineSpace = 0;
- }
- return _labelTitle;
- }
- - (UILabel *)labelPrice{
- if (_labelPrice == nil) {
- _labelPrice = [UILabel new];
- _labelPrice.fontNum = F(11);
- _labelPrice.numberOfLines = 1;
- _labelPrice.lineSpace = 0;
- _labelPrice.textColor = COLOR_DETAIL;
- }
- return _labelPrice;
- }
- - (UILabel *)labelSubTitle{
- if (_labelSubTitle == nil) {
- _labelSubTitle = [UILabel new];
- _labelSubTitle.textColor = COLOR_LABEL;
- _labelSubTitle.fontNum = F(13);
- _labelSubTitle.numberOfLines = 1;
- _labelSubTitle.lineSpace = 0;
- }
- return _labelSubTitle;
- }
- - (UIImageView *)rightImg{
- if (_rightImg == nil) {
- _rightImg = [UIImageView new];
- _rightImg.image = [UIImage imageNamed:IMAGE_ARROW_RIGHT];
- _rightImg.widthHeight = XY(W(7),W(13));
- }
- return _rightImg;
- }
- #pragma mark 初始化
- - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
- self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
- if (self) {
- self.contentView.backgroundColor = [UIColor clearColor];
- self.backgroundColor = [UIColor clearColor];
- self.selectionStyle = UITableViewCellSelectionStyleNone;
- [self.contentView addSubview:self.iconImg];
- [self.contentView addSubview:self.labelTitle];
- [self.contentView addSubview:self.labelPrice];
- [self.contentView addSubview:self.rightImg];
- [self.contentView addSubview:self.labelSubTitle];
- [self.contentView addTarget:self action:@selector(cellClick)];
- self.clipsToBounds = true;
- self.contentView.userInteractionEnabled = true;
-
- }
- return self;
- }
- #pragma mark 刷新cell
- - (void)resetCellWithModel:(ModelBaseData *)model{
- [self.contentView removeSubViewWithTag:TAG_LINE];//移除线
- //刷新view
- self.model = model;
- //hide view dequeue
- self.labelPrice.hidden = true;
- self.rightImg.hidden = false;
- self.labelSubTitle.hidden = false;
- self.rightImg.hidden = false;
- self.height = W(44);
- //config data with model
- [self resetViewGeneral];
- }
- #pragma mark reset general view
- - (void)resetViewGeneral{
- //icon
- if (self.model.image) {
- self.iconImg.image = self.model.image;
- self.iconImg.widthHeight = XY(W(self.model.image.size.width), W(self.model.image.size.height)) ;
- }else{
- self.iconImg.image = [UIImage imageNamed:self.model.imageName];
- self.iconImg.widthHeight = XY(W(18),W(17));
- }
- self.iconImg.leftCenterY = XY(W(15),self.height/2);
- //label
- [self.labelTitle fitTitle:UnPackStr(self.model.string) variable:0];
- self.labelTitle.leftCenterY = self.model.image||self.model.imageName ?XY(W(8)+self.iconImg.right,self.iconImg.centerY):XY(W(15),self.height/2);
- [self.labelPrice fitTitle:UnPackStr(self.model.alertString) variable:0];
- self.labelPrice.leftCenterY = XY(self.labelTitle.right+W(5), self.labelTitle.centerY);
- self.labelPrice.hidden=self.model.hidelineState;
- //arrow
- self.rightImg.rightCenterY = XY(SCREEN_WIDTH-W(15),self.iconImg.centerY);
- self.rightImg.hidden = self.model.hideSubState;
- //subtitle
- [self.labelSubTitle fitTitle:UnPackStr(self.model.subString) variable:self.rightImg.left - W(15) - self.labelPrice.right - W(20)];
- self.labelSubTitle.rightCenterY = XY(self.rightImg.left-W(13),self.iconImg.centerY);
- self.labelSubTitle.hidden=self.model.hideState;
- }
- #pragma mark cell click
- - (void)cellClick{
- if (self.model.blockClick) {
- self.model.blockClick(self.model);
- }
- }
- @end
|