热更新demo

SubAnswerForNews.m 8.1KB

    // // SubAnswerForNews.m // ThePaperBase // // Created by zhousan on 15/8/6. // Copyright (c) 2015年 scar1900. All rights reserved. // #import "SubAnswerForNews.h" @interface SubAnswerForNews () @end @implementation SubAnswerForNews - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.expandBtn.hidden = NO; self.lineView.hidden = NO; } return self; } - (void)subLayoutSubViews { __weak typeof(self) weakSelf = self; [self.backView makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(weakSelf); }]; [self.answerIcon makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.backView).offset(10); make.top.mas_equalTo(weakSelf.backView).offset(7); make.width.mas_equalTo(28); make.height.mas_equalTo(28); }]; [self.iconBack makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.answerIcon); }]; [self.iconButton makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.answerIcon); }]; [self.verifyTag makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.backView.left).offset(28); make.top.equalTo(self.backView.top).offset(28); make.height.mas_equalTo(12); make.width.mas_equalTo(12); }]; [self.anserNameLabel makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(weakSelf.backView.top).offset(9); make.left.mas_equalTo(weakSelf.answerIcon.right).offset(10); make.width.mas_equalTo(rect_screen.size.width/2); make.height.mas_equalTo(12); }]; [self.timeImg makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.answerIcon.right).offset(10); make.top.mas_equalTo(weakSelf.anserNameLabel.bottom).offset(6); make.height.mas_equalTo(10); make.width.mas_equalTo(10); }]; [self.timeLabel makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.timeImg.right).offset(5); make.top.mas_equalTo(weakSelf.anserNameLabel.bottom).offset(6); make.height.mas_equalTo(9); make.width.mas_equalTo(rect_screen.size.width/2); }]; [self.OkButton makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.backView.right).offset(-50); make.top.mas_equalTo(weakSelf.anserNameLabel.top).offset(-2); make.width.mas_equalTo(30); make.height.mas_equalTo(35); }]; [self.menuButton makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(weakSelf.aswerContentLabel); }]; [self.aswerContentLabel makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.backView.left).offset(10); make.right.mas_equalTo(weakSelf.backView.right).offset(-10); make.top.mas_equalTo(weakSelf.timeLabel.bottom).offset(10); make.height.mas_equalTo(0); }]; [self.expandBtn makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.backView.left); make.right.mas_equalTo(weakSelf.backView.right); make.top.mas_equalTo(weakSelf.aswerContentLabel.bottom); make.height.mas_equalTo(25); }]; [self.commentBack makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.aswerContentLabel.left); make.top.mas_equalTo(weakSelf.aswerContentLabel.bottom).offset(15); make.width.mas_equalTo(weakSelf.aswerContentLabel.width); make.height.mas_equalTo(100); }]; [self.quoNameLable makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.commentBack.left).offset(10); make.top.mas_equalTo(weakSelf.commentBack.top).offset(10); make.right.mas_equalTo(weakSelf.commentBack.right).offset(-15); make.height.mas_equalTo(25/2); }]; [self.backView addSubview:self.triangleImg]; [self.triangleImg makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.commentBack.left).offset(55/2); make.width.equalTo(@7); make.top.equalTo(self.commentBack.top).offset(-6); make.height.equalTo(@7); }]; [self.hostLabel makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.anserNameLabel.right).offset(5); make.top.mas_equalTo(weakSelf.anserNameLabel.top); make.width.mas_equalTo(27); make.height.mas_equalTo(12); }]; [self.lineView makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.backView.left).offset(10); make.right.mas_equalTo(weakSelf.backView.right).offset(-10); make.top.mas_equalTo(weakSelf.backView.bottom).offset(-6); make.height.mas_equalTo(1); }]; } - (void)reLayoutSubViews { __weak typeof(self) weakSelf = self; CGFloat nameWidth = returnTextWidthWithRTLabel(self.anserNameLabel.text, 12, appFont(11, NO), 0); [self.anserNameLabel remakeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(weakSelf.backView.top).offset(9); make.left.mas_equalTo(weakSelf.answerIcon.right).offset(10); make.width.mas_equalTo(nameWidth+40); make.height.mas_equalTo(12); }]; CGFloat answerContentHeight = self.aswerContentLabel.optimumSize.height; CGFloat addPx = 0; CGFloat four = getLineHeightWithCountAndFontWidth(4, 10, TEXT_FOUR_LEVELSIZE); if (answerContentHeight > four) { self.expandBtn.hidden = NO; addPx = 24; }else self.expandBtn.hidden = YES; if (!self.commentBO.isExpand || [self.commentBO.isExpand intValue] == 0) { answerContentHeight = answerContentHeight>four?four:answerContentHeight; [self.expandBtn setImage:Image(@"detailPage/expandArrow.png") forState:UIControlStateNormal]; }else { [self.expandBtn setImage:Image(@"detailPage/expandArrowUp.png") forState:UIControlStateNormal]; } [self.aswerContentLabel remakeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.backView.left).offset(10); make.right.mas_equalTo(weakSelf.backView.right).offset(-10); make.top.mas_equalTo(weakSelf.timeLabel.bottom).offset(10); make.height.mas_equalTo(answerContentHeight); }]; CGFloat backHeight = 0; CGFloat tmp = 0; if (!self.commentBO.isQuoExpand || [self.commentBO.isQuoExpand intValue] == 0) { CGFloat labeHeight = returnTextHeightWithRTLabel(self.quoContentLabel.text, rect_screen.size.width-20-16, appFont(13, NO), 5); CGFloat two = getLineHeightWithCountAndFontWidth(2, 10, TEXT_FOUR_LEVELSIZE); if (labeHeight > two) { tmp = 15; } backHeight = labeHeight > two?(two+tmp):labeHeight; backHeight += 35; }else { CGFloat labeHeight = returnTextHeightWithRTLabel(self.quoContentLabel.text, rect_screen.size.width-20-16, appFont(13, NO), 5); backHeight = labeHeight + 35; tmp = 0; self.diandiandianLabel.hidden = YES; } [self.commentBack remakeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.aswerContentLabel.left); make.top.mas_equalTo(weakSelf.aswerContentLabel.bottom).offset(10+addPx); make.width.mas_equalTo(weakSelf.aswerContentLabel.width); make.height.mas_equalTo(backHeight); }]; [self.diandiandianLabel makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.commentBack).offset(-5); make.centerX.equalTo(self.backView); make.size.mas_equalTo(CGSizeMake(100, 15)); }]; [self.quoContentLabel remakeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(weakSelf.commentBack.left).offset(8); make.top.mas_equalTo(weakSelf.quoNameLable.bottom).offset(5); make.right.mas_equalTo(weakSelf.commentBack.right).offset(-8); make.bottom.equalTo(weakSelf.commentBack.bottom).offset(-3-tmp); }]; } @end