热更新demo

HotAnswerCell.m 5.2KB

    // // HotAnswerCell.m // ThePaperBase // // Created by zhousan on 15/8/27. // Copyright (c) 2015年 scar1900. All rights reserved. // #import "HotAnswerCell.h" @implementation HotAnswerCell - (void)subLayoutSubViews { __weak typeof(self) weakSelf = self; [self.backView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(weakSelf.left).offset(10); make.top.equalTo(weakSelf.top); make.right.mas_equalTo(weakSelf.right).offset(-10); make.bottom.equalTo(weakSelf.bottom).offset(-5); }]; [self.answerIcon makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.backView).offset(10); make.top.equalTo(self.backView).offset(7); make.width.mas_equalTo(0); make.height.mas_equalTo(0); }]; [self.verifyTag makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.backView.left).offset(28); make.top.equalTo(weakSelf.backView.top).offset(28); make.height.mas_equalTo(0); make.width.mas_equalTo(0); }]; [self.anserNameLabel makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(9); make.left.mas_equalTo(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.anserNameLabel); 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(-40); 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.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.aswerContentLabel makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(10); make.right.mas_equalTo(-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.lineView makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(weakSelf.backView.left); make.right.equalTo(weakSelf.backView.right); make.bottom.equalTo(weakSelf.backView.bottom); 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.equalTo(weakSelf.backView.top).offset(9); make.left.equalTo(weakSelf.backView.left).offset(10); make.width.mas_equalTo(nameWidth+40); make.height.mas_equalTo(12); }]; CGFloat answerContentHeight = self.aswerContentLabel.optimumSize.height; CGFloat tempTop = 0; CGFloat fourLine = getLineHeightWithCountAndFontWidth(4, 10, TEXT_FOUR_LEVELSIZE); if (answerContentHeight > fourLine) { self.expandBtn.hidden = NO; tempTop = 15; }else self.expandBtn.hidden = YES; if (!self.commentBO.isExpand || [self.commentBO.isExpand intValue] == 0) { answerContentHeight = answerContentHeight>fourLine?fourLine: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); }]; } - (void)commentBack:(id)sender { UIMenuController *menu = [UIMenuController sharedMenuController]; if (menu.menuVisible) { [menu setMenuVisible:NO animated:YES]; } if ([self.delegate respondsToSelector:@selector(gotoCommentWithCommentBO:comment2:)]) { [self.delegate gotoCommentWithCommentBO:self.commentBO comment2:self.commentNext]; }; } @end