zjf
2023-03-06 392b76515f40376b6d36f40a114850ef63650384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//
//  PBImageTableViewCell.m
//  IphoneBIMe
//
//  Created by zjf on 2018/7/23.
//  Copyright © 2018年 ProBIM. All rights reserved.
//
 
#import "PBImageTableViewCell.h"
#import "PBDrawingsModel.h"
#import "PBViewPointModel.h"
@interface PBImageTableViewCell()
@property (nonatomic, weak) UIImageView *imageV;
@property (nonatomic, weak) UILabel *nameL;
@property (nonatomic, weak) UILabel *descL;
@property (nonatomic, weak) UILabel *isDefaultL;
@end
@implementation PBImageTableViewCell
 
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        [self setupUI];
    }
    return self;
}
- (void)setupUI {
    UIImageView *imageV = [[UIImageView alloc] init];
    [self.contentView addSubview:imageV];
    [imageV mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.contentView).offset(10);
        make.left.equalTo(self.contentView).offset(16);
        make.size.mas_equalTo(CGSizeMake(60, 50));
    }];
    UILabel *nameL = [UILabel z_labelWithText:@"" Color:TitleColor isBold:NO Font:TitleFontSize];
    [self.contentView addSubview:nameL];
    [nameL mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(imageV);
        make.left.equalTo(imageV.mas_right).offset(15);
        make.right.equalTo(self.contentView).offset(-22);
        make.height.equalTo(@22);
    }];
    
    UILabel *descL = [UILabel z_labelWithText:@"" Color:DescColor isBold:NO Font:DescFontSize];
    [self.contentView addSubview:descL];
    [descL mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(nameL.mas_bottom).offset(8);
        make.left.right.equalTo(nameL);
        make.height.equalTo(@20);
        make.right.equalTo(self.contentView).offset(-52);
    }];
    
    UILabel *isDefaultL = [UILabel z_labelWithText:@"默认" Color:IndicatedColor isBold:YES Font:DescFontSize];
    [self.contentView addSubview:isDefaultL];
    [isDefaultL mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(descL);
        make.right.equalTo(self.contentView).offset(-16);
    }];
    
    self.imageV = imageV;
    self.nameL = nameL;
    self.descL = descL;
    self.isDefaultL = isDefaultL;
}
 
- (void)setDrawingsModel:(PBDrawingsModel *)drawingsModel {
    _drawingsModel = drawingsModel;
    self.isDefaultL.hidden = YES;
    self.nameL.text = drawingsModel.name;
    self.imageV.image = [NSString imageDecoding:drawingsModel.thumbnail];
    self.descL.text = @"";
}
- (void)setViewPointModel:(PBViewPointModel *)viewPointModel {
    _viewPointModel = viewPointModel;
    self.nameL.text = viewPointModel.Name;
    NSRange range = [viewPointModel.Snapshot rangeOfString:@"base64,"];
    NSString *base64 = [viewPointModel.Snapshot substringFromIndex:range.location + range.length];
    self.imageV.image = [NSString imageDecoding:base64];
    id dict = [NSString convertTodictionaryOrArr:viewPointModel.Tag];
    if ([dict isKindOfClass:[NSDictionary class]]) {
        NSDictionary *dic = (NSDictionary *)dict;
        if ([[dic allKeys] containsObject:@"description"]){
            NSString *str = [dic valueForKey:@"description"];
            if ([str isEqualToString:@""]) {
                self.descL.text = @"<无描述>";
            }else {
                self.descL.text = str;
            }
        }else {
            self.descL.text = @"<无描述>";
        }
    }else {
        self.descL.text = @"<无描述>";
    }
    if (viewPointModel.IsDefault) {
        self.isDefaultL.hidden = NO;
    }else {
        self.isDefaultL.hidden = YES;
    }
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
 
    // Configure the view for the selected state
}
 
@end