热更新demo

MessageTableViewCell.m 4.5KB

    // // MessageTableViewCell.m // ThePaperBase // // Created by zhousan on 15/8/14. // Copyright (c) 2015年 scar1900. All rights reserved. // #import "MessageTableViewCell.h" @interface MessageTableViewCell () @property (nonatomic, strong) UIView *backView; @property (nonatomic, strong) UILabel *messageLabel; @property (nonatomic, strong) UISwitch *swit; @property (nonatomic, strong) UIView *lineView; @end @implementation MessageTableViewCell - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { [self addSubview:self.backView]; UIView *selectView = [[UIView alloc]initWithFrame:CGRectMake(10, 0, CGRectGetWidth(self.bounds)-20, CGRectGetHeight(self.bounds))]; selectView.backgroundColor = [UIColor colorWithHexString:CELLBACKCOLOR]; self.selectionStyle = UITableViewCellSelectionStyleNone; self.selectedBackgroundView = selectView; [self.backView addSubview:self.swit]; [self.backView addSubview:self.messageLabel]; [self.backView addSubview:self.lineView]; [self subLayoutSubViews]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(needrefreshNightMode:) name:REFRESHAFTERNIGHTMODE object:nil]; } return self; } - (void)needrefreshNightMode:(id)sender{ UIView *selectView = [[UIView alloc]initWithFrame:CGRectMake(10, 0, CGRectGetWidth(self.bounds)-20, CGRectGetHeight(self.bounds))]; selectView.backgroundColor = [UIColor colorWithHexString:CELLBACKCOLOR]; self.selectedBackgroundView = selectView; self.backView.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; self.lineView.backgroundColor = [UIColor colorWithHexString:LINECOLOR]; self.messageLabel.textColor = [UIColor colorWithHexString:TextGray]; } #pragma mark - getter - (UIView*)backView { if (!_backView) { _backView = [[UIView alloc]initWithFrame:CGRectZero]; _backView.backgroundColor = [UIColor colorWithHexString:BackGroundColor]; } return _backView; } - (UIView *)lineView { if (!_lineView) { _lineView = [[UIView alloc] initWithFrame:CGRectZero]; _lineView.backgroundColor = [UIColor colorWithHexString:LINECOLOR]; } return _lineView; } - (UISwitch *)swit { if (!_swit) { _swit = [[UISwitch alloc] initWithFrame:CGRectZero]; [_swit addTarget:self action:@selector(switchValue:) forControlEvents:UIControlEventValueChanged]; [_swit setOnTintColor:[UIColor colorWithHexString:BLUECOLOR]]; } return _swit; } - (UILabel *)messageLabel { if (!_messageLabel) { _messageLabel = [[UILabel alloc] initWithFrame:CGRectZero]; _messageLabel.font = appFont(TEXT_THREE_LEVELSIZE, NO); _messageLabel.textColor = [UIColor colorWithHexString:TextGray]; _messageLabel.backgroundColor = [UIColor clearColor]; _messageLabel.text = @"推送设置"; } return _messageLabel; } - (void)switchValue:(UISwitch *)swit { if ([self.delegate respondsToSelector:@selector(switchValueWith:)]) { [self.delegate switchValueWith:swit.on]; } } - (void)setSwitchValue:(BOOL)on { self.swit.on = on; } #pragma mark - layout - (void)subLayoutSubViews { [self.backView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self).offset(10); make.right.equalTo(self).offset(-10); make.top.equalTo(self); make.bottom.equalTo(self); }]; [self.messageLabel makeConstraints:^(MASConstraintMaker *make) { make.centerY.equalTo(self.backView); make.left.equalTo(self.backView).offset(10); make.size.mas_equalTo(CGSizeMake(150, 20)); }]; [self.swit makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self.backView).offset(-10); make.centerY.equalTo(self.backView); make.size.mas_equalTo(CGSizeMake(50, 30)); }]; [self.lineView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.backView); make.right.equalTo(self.backView); make.bottom.equalTo(self.backView); make.height.mas_equalTo(1); }]; } - (void)awakeFromNib { // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (void)dealloc { [[NSNotificationCenter defaultCenter]removeObserver:self]; } @end