CNLivePrivacyContactTableViewCell.m 7.02 KB
//
//  CNLivePrivacyContactTableViewCell.m
//  CNLiveSettingModule
//
//  Created by CNLive-zxw on 2019/4/24.
//  Copyright © 2019 cnlive. All rights reserved.
//

#import "CNLivePrivacyContactTableViewCell.h"
#import <Masonry/Masonry.h>
#import "QMUIKit.h"

@interface CNLivePrivacyContactTableViewCell ()
@property (nonatomic, strong) UIImageView *iconImage;
@property (nonatomic, strong) UILabel *nickLabel;

@end

@implementation CNLivePrivacyContactTableViewCell
#pragma mark - Init
+ (instancetype)cellWithTableView:(UITableView *)tableView {
    static NSString *indentify = @"CNLivePrivacyContactTableViewCell";
    CNLivePrivacyContactTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:indentify];
    if (!cell) {
        cell = [[CNLivePrivacyContactTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:indentify];
    }
    return cell;
    
}

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.backgroundColor = [UIColor whiteColor];
        [self.contentView addSubview:self.selectBtn];
        [self.contentView addSubview:self.iconImage];
        [self.contentView addSubview:self.nickLabel];
        [self xw_layoutSubviews];
        
    }
    return self;
}

#pragma mark - Data
//- (void)setUser:(IMAUser *)user {
//    _user = user;
//    _selectBtn.selected = user.isSelected;
//    
//    [_iconImage sd_setImageWithURL:[NSURL URLWithString:user.icon] placeholderImage:kDefaultUserIcon];
//    _nickLabel.text = [user showTitle];
//    
//    if (!_selectBtn.enabled) {
//        [_selectBtn setBackgroundImage:[UIImage imageNamed:@"privacy_edit_no"] forState:UIControlStateNormal];
//    }
//    else{
//        [_selectBtn setBackgroundImage:[UIImage imageNamed:@"privacy_sel_no"] forState:UIControlStateNormal];
//
//    }
//    
//}

#pragma mark - Action
- (void)onPick {
    [self onPicked:_selectBtn];
}

- (void)onPicked:(UIButton *)btn {
//    btn.selected = !btn.selected;
//    _user.isSelected = btn.selected;
//    
//    if (self.delegate && [self.delegate respondsToSelector:@selector(onPickAction:)]) {
//        [self.delegate onPickAction:_user];
//    }
    
}

#pragma mark - Layout
- (void)xw_layoutSubviews {
    [self.selectBtn mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(self.contentView).mas_offset(20);
        make.centerY.mas_equalTo(self.contentView);
        make.size.mas_equalTo(CGSizeMake(20, 20));
    }];
    
    [self.iconImage mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(self.selectBtn.mas_right).mas_offset(20);
        make.centerY.mas_equalTo(self.contentView);
        make.size.mas_equalTo(CGSizeMake(40, 40));
    }];
    
    [self.nickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(self.iconImage.mas_right).mas_offset(10);
        make.right.mas_equalTo(self.contentView.mas_right).mas_offset(-10);
        make.centerY.mas_equalTo(self.selectBtn.mas_centerY);
    }];
    
}

#pragma mark - Getter
- (UIButton *)selectBtn {
    if (!_selectBtn) {
        _selectBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        [_selectBtn setBackgroundImage:[UIImage imageNamed:@"privacy_sel_no"] forState:UIControlStateNormal];
        [_selectBtn setBackgroundImage:[UIImage imageNamed:@"privacy_sel_yes"] forState:UIControlStateSelected];
        [_selectBtn addTarget:self action:@selector(onPicked:) forControlEvents:UIControlEventTouchUpInside];
    }
    return _selectBtn;
}

- (UIImageView *)iconImage {
    if (!_iconImage) {
        _iconImage = [[UIImageView alloc] init];
    }
    return _iconImage;
}

- (UILabel *)nickLabel {
    if (!_nickLabel) {
        _nickLabel = [[UILabel alloc] init];
        _nickLabel.textColor = [UIColor blackColor];
        _nickLabel.font = UIFontMake(17.0);
    }
    return _nickLabel;
}

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    // Configure the view for the selected state
}

@end

@interface CNLivePrivacyGroupCell ()
@property (nonatomic, strong) UILabel *titleLabel;
@property (nonatomic, strong) UIImageView *moreImage;

@end

@implementation CNLivePrivacyGroupCell
+ (instancetype)cellWithTableView:(UITableView *)tableView {
    
    static NSString *indentify = @"CNLivePrivacyGroupCell";
    
    CNLivePrivacyGroupCell *cell = [tableView dequeueReusableCellWithIdentifier:indentify];
    if (!cell) {
        cell = [[CNLivePrivacyGroupCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:indentify];
    }
    return cell;
    
}

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.backgroundColor = [UIColor whiteColor];
        [self.contentView addSubview:self.titleLabel];
        [self.contentView addSubview:self.moreImage];
        [self xw_layoutSubviews];
    }
    return self;
}

- (void)xw_layoutSubviews {
    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.mas_equalTo(self.contentView).mas_offset(20);
        make.right.mas_equalTo(self.contentView.mas_right).mas_offset(-30);
        make.top.mas_equalTo(self.contentView).mas_offset(20);
    }];
    
    [self.moreImage mas_makeConstraints:^(MASConstraintMaker *make) {
        make.size.mas_equalTo(CGSizeMake(7, 14));
        make.right.mas_equalTo(self.contentView.mas_right).mas_offset(-10);
        make.centerY.mas_equalTo(self.titleLabel.mas_centerY);
    }];
    
}

#pragma mark - Getter
- (UILabel *)titleLabel {
    if (!_titleLabel) {
        _titleLabel = [[UILabel alloc] init];
        _titleLabel.text = @"选择一个群";
        _titleLabel.textColor = [UIColor blackColor];
        _titleLabel.font = UIFontMake(17.0);
    }
    return _titleLabel;
}

- (UIImageView *)moreImage {
    if (!_moreImage) {
        UIImage *xw_image = [self xw_getImageName:@"mine_info_front" bundleName:@"CNLiveSettingModule" targetClass:[CNLivePrivacyContactTableViewCell class]];
        _moreImage = [[UIImageView alloc] initWithImage:xw_image];
    }
    return _moreImage;
}

/**
 *  创建图片
 *
 *  @param imageName 图片名字
 *  @param bundleName 图片所在的bundle名字
 *  @param targetClass 类和bundle的同级目录
 *  @return 返回UIImage
 */
- (UIImage *)xw_getImageName:(NSString *)imageName bundleName:(NSString *)bundleName targetClass:(Class)targetClass{
    NSBundle *bundle = [NSBundle bundleForClass:targetClass];
    NSURL *url = [bundle URLForResource:bundleName withExtension:@"bundle"];
    NSBundle *targetBundle = [NSBundle bundleWithURL:url];
    UIImage *image = [UIImage imageNamed:imageName inBundle:targetBundle compatibleWithTraitCollection:nil];
    return image?image:[UIImage imageNamed:imageName inBundle:[NSBundle mainBundle] compatibleWithTraitCollection:nil];
}

@end