CellForWorkGroupRepost.m 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. //
  2. // CellForWorkGroupRepost.m
  3. // HKPTimeLine 仿赤兔、微博动态
  4. // CSDN: http://blog.csdn.net/samuelandkevin
  5. // Created by samuelandkevin on 16/9/20.
  6. // Copyright © 2016年 HKP. All rights reserved.
  7. //
  8. #import "CellForWorkGroupRepost.h"
  9. #import "YHWorkGroupPhotoContainer.h"
  10. #import "HKPCommon.h"
  11. #import "YHUserInfoManager.h"
  12. #import "UITableViewCell+HYBMasonryAutoCellHeight.h"
  13. #pragma mark - YHWorkGroupRepostView
  14. /***********上一条动态***********/
  15. @interface YHWorkGroupRepostView : UIView
  16. @property (nonatomic,strong)UIImageView *imgvAvatar;
  17. @property (nonatomic,strong)UILabel *labelName;
  18. @property (nonatomic,strong)UILabel *labelContent;
  19. @property (nonatomic,strong)YHWorkGroupPhotoContainer *picContainerView;
  20. @property (nonatomic,strong)UILabel *labelPubTime;
  21. @property (nonatomic,strong)UILabel *labelCompany;
  22. @property (nonatomic,strong)UILabel *labelJob;
  23. @property (nonatomic,strong)UILabel *labelIndustry;
  24. @property (nonatomic,assign)BOOL shouldOpenContentLabel;
  25. @property (nonatomic,strong)YHWorkGroup *forwardModel;
  26. //约束
  27. @property (nonatomic,strong)NSLayoutConstraint *cstHeightPicContainer;
  28. @end
  29. static const CGFloat contentLabelFontSizeRepost = 13;
  30. @implementation YHWorkGroupRepostView
  31. - (instancetype)initWithFrame:(CGRect)frame{
  32. if (self = [super initWithFrame:frame]) {
  33. [self setup];
  34. }
  35. return self;
  36. }
  37. - (void)setup{
  38. _shouldOpenContentLabel = NO;
  39. //头像
  40. _imgvAvatar = [UIImageView new];
  41. _imgvAvatar.layer.cornerRadius = 22.5;
  42. _imgvAvatar.layer.masksToBounds = YES;
  43. [self addSubview:_imgvAvatar];
  44. _labelName = [UILabel new];
  45. _labelName.font = [UIFont systemFontOfSize:14];
  46. _labelName.textAlignment = NSTextAlignmentLeft;
  47. _labelName.textColor = [UIColor blackColor];
  48. [self addSubview:_labelName];
  49. _labelIndustry = [UILabel new];
  50. _labelIndustry.font = [UIFont systemFontOfSize:11];
  51. _labelIndustry.textAlignment = NSTextAlignmentLeft;
  52. _labelIndustry.textColor = RGBCOLOR(96, 96, 96);
  53. [self addSubview:_labelIndustry];
  54. _labelPubTime = [UILabel new];
  55. _labelPubTime.font = [UIFont systemFontOfSize:12];
  56. _labelPubTime.textAlignment = NSTextAlignmentRight;
  57. _labelPubTime.textColor = RGBCOLOR(96, 96, 96);
  58. [self addSubview:_labelPubTime];
  59. _labelCompany = [UILabel new];
  60. _labelCompany.font = [UIFont systemFontOfSize:12];
  61. _labelCompany.textColor = RGBCOLOR(96, 96, 96);
  62. [self addSubview:_labelCompany];
  63. _labelJob = [UILabel new];
  64. _labelJob.font = [UIFont systemFontOfSize:12];
  65. _labelJob.textColor = RGBCOLOR(96, 96, 96);
  66. [self addSubview:_labelJob];
  67. _labelContent = [UILabel new];
  68. _labelContent.font = [UIFont systemFontOfSize:contentLabelFontSizeRepost];
  69. _labelContent.textColor = RGBCOLOR(96, 96, 96);
  70. _labelContent.numberOfLines = 2;
  71. [self addSubview:_labelContent];
  72. _picContainerView = [[YHWorkGroupPhotoContainer alloc] initWithWidth:kScreenH-40];
  73. [self addSubview:_picContainerView];
  74. [self layoutUI];
  75. self.backgroundColor = RGBCOLOR(244, 244, 244);
  76. }
  77. - (void)layoutUI{
  78. __weak typeof(self)weakSelf = self;
  79. [self.imgvAvatar mas_makeConstraints:^(MASConstraintMaker *make) {
  80. make.top.equalTo(weakSelf).offset(15);
  81. make.left.equalTo(weakSelf).offset(15);
  82. make.width.height.mas_equalTo(45);
  83. }];
  84. [self.labelName mas_makeConstraints:^(MASConstraintMaker *make) {
  85. make.top.equalTo(weakSelf).offset(15);
  86. make.left.equalTo(weakSelf.imgvAvatar.mas_right).offset(10);
  87. make.right.equalTo(weakSelf.labelIndustry.mas_left).offset(-10);
  88. }];
  89. [self.labelIndustry mas_makeConstraints:^(MASConstraintMaker *make) {
  90. make.bottom.equalTo(weakSelf.labelName.mas_bottom);
  91. make.left.equalTo(weakSelf.labelName.mas_right).offset(10);
  92. make.right.equalTo(weakSelf.labelPubTime.mas_left).offset(-10);
  93. make.width.mas_greaterThanOrEqualTo(60);
  94. }];
  95. [self.labelIndustry setContentHuggingPriority:249 forAxis:UILayoutConstraintAxisHorizontal];
  96. [self.labelIndustry setContentCompressionResistancePriority:749 forAxis:UILayoutConstraintAxisHorizontal];
  97. [self.labelPubTime mas_makeConstraints:^(MASConstraintMaker *make) {
  98. make.bottom.equalTo(weakSelf.labelName.mas_bottom);
  99. make.right.equalTo(weakSelf).offset(-15);
  100. }];
  101. [self.labelPubTime setContentHuggingPriority:251 forAxis:UILayoutConstraintAxisHorizontal];
  102. [self.labelPubTime setContentCompressionResistancePriority:751 forAxis:UILayoutConstraintAxisHorizontal];
  103. [self.labelCompany mas_makeConstraints:^(MASConstraintMaker *make) {
  104. make.top.equalTo(weakSelf.labelName.mas_bottom).offset(9);
  105. make.left.equalTo(weakSelf.labelName.mas_left);
  106. make.right.equalTo(weakSelf.labelJob.mas_left).offset(-10);
  107. }];
  108. [self.labelJob mas_makeConstraints:^(MASConstraintMaker *make) {
  109. make.bottom.equalTo(weakSelf.labelCompany.mas_bottom);
  110. make.left.equalTo(weakSelf.labelCompany.mas_right).offset(10);
  111. make.right.equalTo(weakSelf).offset(-10);
  112. make.width.mas_greaterThanOrEqualTo(80);
  113. }];
  114. [self.labelJob setContentHuggingPriority:249 forAxis:UILayoutConstraintAxisHorizontal];
  115. [self.labelJob setContentCompressionResistancePriority:749 forAxis:UILayoutConstraintAxisHorizontal];
  116. [self.labelContent mas_makeConstraints:^(MASConstraintMaker *make) {
  117. make.top.equalTo(weakSelf.imgvAvatar.mas_bottom).offset(11);
  118. make.left.equalTo(weakSelf).offset(15);
  119. make.right.equalTo(weakSelf).offset(-15);
  120. }];
  121. [self.labelContent setContentHuggingPriority:249 forAxis:UILayoutConstraintAxisVertical];
  122. [self.labelContent setContentCompressionResistancePriority:749 forAxis:UILayoutConstraintAxisVertical];
  123. // 不然在6/6plus上就不准确了
  124. self.labelContent.preferredMaxLayoutWidth = kScreenW - 30;
  125. _cstHeightPicContainer = [NSLayoutConstraint constraintWithItem:self.picContainerView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0];
  126. [self addConstraint:_cstHeightPicContainer];
  127. [self.picContainerView mas_makeConstraints:^(MASConstraintMaker *make) {
  128. make.left.equalTo(weakSelf).offset(10);
  129. make.top.equalTo(weakSelf.labelContent.mas_bottom).offset(10);
  130. make.right.equalTo(weakSelf).offset(-10);
  131. make.bottom.equalTo(weakSelf).offset(-10);
  132. }];
  133. }
  134. -(void)setForwardModel:(YHWorkGroup *)forwardModel{
  135. // _forwardModel = forwardModel;
  136. // _shouldOpenContentLabel = NO;
  137. //
  138. // [self.imgvAvatar sd_setImageWithURL:[NSURL URLWithString:_forwardModel.userInfo.head_image] placeholderImage:[UIImage imageNamed:@"common_avatar_120px"]];
  139. // if (_forwardModel.userInfo.nick_name.length) {
  140. // _labelName.text = _forwardModel.userInfo.userName;
  141. // }
  142. // else{
  143. // _labelName.text = ASLocalizedString(@"匿名用户");
  144. // }
  145. //
  146. // self.labelIndustry.text = _forwardModel.userInfo.industry;
  147. // self.labelJob.text = _forwardModel.userInfo.job;
  148. // self.labelPubTime.text = _forwardModel.publishTime;
  149. //
  150. // self.labelContent.text = _forwardModel.msgContent;
  151. //
  152. // self.labelCompany.text = _forwardModel.userInfo.company;
  153. //
  154. // self.picContainerView.picOriArray = _forwardModel.originalPicUrls;
  155. // CGFloat picContainerH = [self.picContainerView setupPicUrlArray:_forwardModel.thumbnailPicUrls];
  156. // _cstHeightPicContainer.constant = picContainerH;
  157. }
  158. @end
  159. #pragma mark - CellForWorkGroupRepost
  160. /***发布动态视图**/
  161. CGFloat maxContentRepostLabelHeight;// 根据具体font而定
  162. static const CGFloat moreBtnHeight = 30;
  163. static const CGFloat deleteBtnHeight = 30;
  164. @interface CellForWorkGroupRepost()<HKPBotViewDelegate>
  165. @property (nonatomic,strong)UIImageView *imgvAvatar;
  166. @property (nonatomic,strong)UILabel *labelName;
  167. @property (nonatomic,strong)UILabel *labelIndustry;
  168. @property (nonatomic,strong)UILabel *labelPubTime;
  169. @property (nonatomic,strong)UILabel *labelCompany;
  170. @property (nonatomic,strong)UILabel *labelJob;
  171. @property (nonatomic,strong)UILabel *labelContent;
  172. @property (nonatomic,strong)UILabel *labelDelete;
  173. @property (nonatomic,strong)UILabel *labelMore;
  174. @property (nonatomic,strong)YHWorkGroupRepostView *repostView;
  175. @property (nonatomic,strong)UIView *viewSeparator;
  176. //约束
  177. @property (nonatomic,strong)NSLayoutConstraint *cstHeightlbMore;
  178. @property (nonatomic,strong)NSLayoutConstraint *cstHeightlbDelete;
  179. @property (nonatomic,strong)NSLayoutConstraint *cstCenterYlbDelete;
  180. @property (nonatomic,strong)NSLayoutConstraint *cstLeftlbDelete;
  181. @property (nonatomic,strong)NSLayoutConstraint *cstHeightlbContent;
  182. @property (nonatomic,strong)NSLayoutConstraint *cstTopRepostView;
  183. @property (nonatomic,strong)NSLayoutConstraint *cstTopViewBottom;
  184. @end
  185. @implementation CellForWorkGroupRepost
  186. - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
  187. {
  188. if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
  189. [self setup];
  190. self.selectionStyle = UITableViewCellSelectionStyleNone;
  191. }
  192. return self;
  193. }
  194. - (void)setup{
  195. self.imgvAvatar = [UIImageView new];
  196. self.imgvAvatar.layer.cornerRadius = 22.5;
  197. self.imgvAvatar.layer.masksToBounds = YES;
  198. self.imgvAvatar.userInteractionEnabled = YES;
  199. UITapGestureRecognizer *tapGuesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onAvatar:)];
  200. [self.imgvAvatar addGestureRecognizer:tapGuesture];
  201. [self.contentView addSubview:self.imgvAvatar];
  202. self.labelName = [UILabel new];
  203. self.labelName.font = [UIFont systemFontOfSize:14.0f];
  204. self.labelName.textColor = kBlackColor;
  205. // RGB16(0x303030);
  206. [self.contentView addSubview:self.labelName];
  207. self.labelIndustry = [UILabel new];
  208. self.labelIndustry.font = [UIFont systemFontOfSize:12.0f];
  209. self.labelIndustry.textColor = kBlackColor;
  210. [self.contentView addSubview:self.labelIndustry];
  211. self.labelPubTime = [UILabel new];
  212. self.labelPubTime.font = [UIFont systemFontOfSize:13.0f];
  213. [self.contentView addSubview:self.labelPubTime];
  214. self.labelCompany = [UILabel new];
  215. self.labelCompany.font = [UIFont systemFontOfSize:12.0f];
  216. [self.contentView addSubview:self.labelCompany];
  217. self.labelJob = [UILabel new];
  218. self.labelJob.font = [UIFont systemFontOfSize:12.0f];
  219. [self.contentView addSubview:self.labelJob];
  220. self.labelContent = [UILabel new];
  221. self.labelContent.font = [UIFont systemFontOfSize:12.0f];
  222. self.labelContent.numberOfLines = 0;
  223. [self.contentView addSubview:self.labelContent];
  224. self.labelDelete = [UILabel new];
  225. self.labelDelete.font = [UIFont systemFontOfSize:14.0f];
  226. self.labelDelete.textColor = RGBCOLOR(61, 95, 155);
  227. self.labelDelete.userInteractionEnabled = YES;
  228. UITapGestureRecognizer *deleteTap =[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(deleteTap)];
  229. [self.labelDelete addGestureRecognizer:deleteTap];
  230. [self.contentView addSubview:self.labelDelete];
  231. self.labelMore = [UILabel new];
  232. self.labelMore.font = [UIFont systemFontOfSize:14.0f];
  233. self.labelMore.textColor = RGBCOLOR(0, 191, 143);
  234. self.labelMore.userInteractionEnabled = YES;
  235. UITapGestureRecognizer *moreTap =[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onMoreTap)];
  236. [self.labelMore addGestureRecognizer:moreTap];
  237. [self.contentView addSubview:self.labelMore];
  238. self.repostView = [YHWorkGroupRepostView new];
  239. [self.contentView addSubview:self.repostView];
  240. self.viewBottom = [HKPBotView new];
  241. self.viewBottom.delegate = self;
  242. [self.contentView addSubview:self.viewBottom];
  243. self.viewSeparator = [UIView new];
  244. self.viewSeparator.backgroundColor = RGBCOLOR(244, 244, 244);
  245. [self.contentView addSubview:self.viewSeparator];
  246. [self layoutUI];
  247. //
  248. // self.labelMore.backgroundColor = [UIColor yellowColor];
  249. // self.labelDelete.backgroundColor = [UIColor blueColor];
  250. // self.labelContent.backgroundColor = [UIColor redColor];
  251. }
  252. - (void)layoutUI{
  253. __weak typeof(self)weakSelf = self;
  254. [self.imgvAvatar mas_makeConstraints:^(MASConstraintMaker *make) {
  255. make.top.equalTo(weakSelf.contentView).offset(15);
  256. make.left.equalTo(weakSelf.contentView).offset(15);
  257. make.width.height.mas_equalTo(45);
  258. }];
  259. [self.labelName mas_makeConstraints:^(MASConstraintMaker *make) {
  260. make.top.equalTo(weakSelf.contentView).offset(15);
  261. make.left.equalTo(weakSelf.imgvAvatar.mas_right).offset(10);
  262. make.right.equalTo(weakSelf.labelIndustry.mas_left).offset(-10);
  263. }];
  264. [self.labelIndustry mas_makeConstraints:^(MASConstraintMaker *make) {
  265. make.bottom.equalTo(weakSelf.labelName.mas_bottom);
  266. make.left.equalTo(weakSelf.labelName.mas_right).offset(10);
  267. make.right.equalTo(weakSelf.labelPubTime.mas_left).offset(-10);
  268. make.width.mas_greaterThanOrEqualTo(60);
  269. }];
  270. [self.labelIndustry setContentHuggingPriority:249 forAxis:UILayoutConstraintAxisHorizontal];
  271. [self.labelIndustry setContentCompressionResistancePriority:749 forAxis:UILayoutConstraintAxisHorizontal];
  272. [self.labelPubTime mas_makeConstraints:^(MASConstraintMaker *make) {
  273. make.bottom.equalTo(weakSelf.labelName.mas_bottom);
  274. make.right.equalTo(weakSelf.contentView).offset(-15);
  275. }];
  276. [self.labelPubTime setContentHuggingPriority:251 forAxis:UILayoutConstraintAxisHorizontal];
  277. [self.labelPubTime setContentCompressionResistancePriority:751 forAxis:UILayoutConstraintAxisHorizontal];
  278. [self.labelCompany mas_makeConstraints:^(MASConstraintMaker *make) {
  279. make.top.equalTo(weakSelf.labelName.mas_bottom).offset(9);
  280. make.left.equalTo(weakSelf.labelName.mas_left);
  281. make.right.equalTo(weakSelf.labelJob.mas_left).offset(-10);
  282. }];
  283. [self.labelJob mas_makeConstraints:^(MASConstraintMaker *make) {
  284. make.bottom.equalTo(weakSelf.labelCompany.mas_bottom);
  285. make.left.equalTo(weakSelf.labelCompany.mas_right).offset(10);
  286. make.right.equalTo(weakSelf.contentView).offset(-10);
  287. make.width.mas_greaterThanOrEqualTo(80);
  288. }];
  289. [self.labelJob setContentHuggingPriority:249 forAxis:UILayoutConstraintAxisHorizontal];
  290. [self.labelJob setContentCompressionResistancePriority:749 forAxis:UILayoutConstraintAxisHorizontal];
  291. _cstHeightlbContent = [NSLayoutConstraint constraintWithItem:self.labelContent attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationLessThanOrEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0];
  292. [self.contentView addConstraint:_cstHeightlbContent];
  293. [self.labelContent mas_makeConstraints:^(MASConstraintMaker *make) {
  294. make.top.equalTo(weakSelf.imgvAvatar.mas_bottom).offset(11);
  295. make.left.equalTo(weakSelf.contentView).offset(10);
  296. make.right.equalTo(weakSelf.contentView).offset(-10);
  297. make.bottom.equalTo(weakSelf.labelMore.mas_top).offset(-11);
  298. }];
  299. // 不然在6/6plus上就不准确了
  300. self.labelContent.preferredMaxLayoutWidth = kScreenW - 20;
  301. _cstHeightlbMore = [NSLayoutConstraint constraintWithItem:self.labelMore attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0];
  302. [self.contentView addConstraint:_cstHeightlbMore];
  303. [self.labelMore mas_makeConstraints:^(MASConstraintMaker *make) {
  304. make.top.equalTo(weakSelf.labelContent.mas_bottom).offset(11);
  305. make.left.equalTo(weakSelf.contentView).offset(10);
  306. make.width.mas_equalTo(80);
  307. }];
  308. _cstHeightlbDelete = [NSLayoutConstraint constraintWithItem:self.labelDelete attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0];
  309. [self.contentView addConstraint:_cstHeightlbDelete];
  310. _cstCenterYlbDelete = [NSLayoutConstraint constraintWithItem:self.labelDelete attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.labelMore attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0];
  311. [self.contentView addConstraint:_cstCenterYlbDelete];
  312. _cstLeftlbDelete = [NSLayoutConstraint constraintWithItem:self.labelDelete attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.labelMore attribute:NSLayoutAttributeRight multiplier:1.0 constant:10];
  313. [self.contentView addConstraint:_cstLeftlbDelete];
  314. [self.labelDelete mas_makeConstraints:^(MASConstraintMaker *make) {
  315. make.width.mas_equalTo(80);
  316. }];
  317. _cstTopRepostView = [NSLayoutConstraint constraintWithItem:self.repostView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.labelMore attribute:NSLayoutAttributeBottom multiplier:1.0 constant:10];
  318. [self.contentView addConstraint:_cstTopRepostView];
  319. [self.repostView mas_makeConstraints:^(MASConstraintMaker *make) {
  320. make.left.equalTo(weakSelf.contentView).offset(10);
  321. make.right.equalTo(weakSelf.contentView).offset(-10);
  322. }];
  323. [self.viewBottom mas_makeConstraints:^(MASConstraintMaker *make) {
  324. make.top.equalTo(weakSelf.repostView.mas_bottom).offset(15).priorityLow();
  325. make.left.right.mas_equalTo(0);
  326. make.height.mas_equalTo(44);
  327. }];
  328. /*******使用FDTemplateLayoutCell*******/
  329. // [self.viewSeparator mas_makeConstraints:^(MASConstraintMaker *make) {
  330. // make.top.equalTo(weakSelf.viewBottom.mas_bottom);
  331. // make.left.right.mas_equalTo(0);
  332. // make.height.mas_equalTo(15);
  333. // make.bottom.equalTo(weakSelf.contentView);
  334. // }];
  335. /*******使用HYBMasonryAutoCell*******/
  336. [self.viewSeparator mas_makeConstraints:^(MASConstraintMaker *make) {
  337. make.top.equalTo(weakSelf.viewBottom.mas_bottom);
  338. make.left.right.mas_equalTo(0);
  339. make.height.mas_equalTo(15);
  340. }];
  341. self.hyb_lastViewInCell = self.viewSeparator;
  342. }
  343. - (void)setModel:(YHWorkGroup *)model{
  344. // _model = model;
  345. // _model.isRepost = YES;
  346. // [self.imgvAvatar sd_setImageWithURL:_model.userInfo.avatarUrl placeholderImage:[UIImage imageNamed:@"common_avatar_120px"]];
  347. // self.labelName.text = _model.userInfo.userName;
  348. // self.labelIndustry.text = _model.userInfo.industry;
  349. // self.labelPubTime.text = _model.publishTime;
  350. // self.labelCompany.text = _model.userInfo.company;
  351. // self.labelJob.text = _model.userInfo.job;
  352. //
  353. // /*************动态内容*************/
  354. // maxContentRepostLabelHeight = _labelContent.font.pointSize * 6;
  355. // self.labelContent.text = _model.msgContent;
  356. //
  357. // //查看详情按钮
  358. // self.labelMore.text = ASLocalizedString(@"查看全部");
  359. // CGFloat moreBtnH = 0;
  360. // if (_model.shouldShowMoreButton) { // 如果文字高度超过60
  361. // moreBtnH = moreBtnHeight;
  362. //
  363. // if (_model.isOpening) { // 如果需要展开
  364. //
  365. // _labelMore.text = ASLocalizedString(@"收起");
  366. // _cstHeightlbContent.constant = HUGE;
  367. // } else {
  368. // _labelMore.text = ASLocalizedString(@"查看全部");
  369. // _cstHeightlbContent.constant = maxContentRepostLabelHeight;
  370. // }
  371. // }else{
  372. // _cstHeightlbContent.constant = maxContentRepostLabelHeight;
  373. // }
  374. //
  375. //
  376. // //删除按钮
  377. // self.labelDelete.text = ASLocalizedString(@"删除");
  378. // CGFloat delBtnH = 0;
  379. // if ([_model.userInfo.uid isEqualToString:[YHUserInfoManager sharedInstance].userInfo.uid]) {
  380. // delBtnH = deleteBtnHeight;
  381. // }
  382. //
  383. // //更新“查看详情”和“删除按钮”的约束
  384. // _cstHeightlbMore.constant = moreBtnH;
  385. // _cstHeightlbDelete.constant = delBtnH;
  386. // if (moreBtnH) {
  387. // _cstLeftlbDelete.constant = 10;
  388. // _cstCenterYlbDelete.constant = 0;
  389. // }else{
  390. // _cstLeftlbDelete.constant = -80;
  391. // _cstCenterYlbDelete.constant = 11;
  392. // }
  393. //
  394. //
  395. // CGFloat repostVTop = 0;
  396. // if (moreBtnH) {
  397. // repostVTop = 10;
  398. // }else if(delBtnH && !moreBtnH){
  399. // repostVTop = 30;
  400. // }else{
  401. // repostVTop = 0;
  402. // }
  403. // _cstTopRepostView.constant = repostVTop;
  404. //
  405. // self.repostView.forwardModel = _model.forwardModel;
  406. //
  407. // _viewBottom.btnLike.selected = _model.isLike? YES: NO;
  408. // [_viewBottom.btnComment setTitle:[NSString stringWithFormat:@"%d",_model.commentCount] forState:UIControlStateNormal];//评论数
  409. // [_viewBottom.btnLike setTitle:[NSString stringWithFormat:@"%d",_model.likeCount] forState:UIControlStateNormal]; //点赞数
  410. //}
  411. //
  412. //- (void)awakeFromNib {
  413. // [super awakeFromNib];
  414. // // Initialization code
  415. //}
  416. //
  417. //#pragma mark - Action
  418. //- (void)onMoreTap
  419. //{
  420. //
  421. // if (_delegate && [_delegate respondsToSelector:@selector(onMoreInRespostCell:)]) {
  422. // [_delegate onMoreInRespostCell:self];
  423. // }
  424. //}
  425. //
  426. //- (void)deleteTap{
  427. //
  428. // if (_delegate && [_delegate respondsToSelector:@selector(onDeleteInRepostCell:)]) {
  429. // [_delegate onDeleteInRepostCell:self];
  430. // }
  431. }
  432. #pragma mark - Gesture
  433. - (void)onAvatar:(UITapGestureRecognizer *)recognizer{
  434. if(recognizer.state == UIGestureRecognizerStateEnded){
  435. if (_delegate && [_delegate respondsToSelector:@selector(onAvatarInRepostCell:)]) {
  436. [_delegate onAvatarInRepostCell:self];
  437. }
  438. }
  439. }
  440. #pragma mark - HKPBotViewDelegate
  441. - (void)onAvatar{
  442. }
  443. - (void)onMore{
  444. }
  445. - (void)onComment{
  446. if (_delegate && [_delegate respondsToSelector:@selector(onCommentInRepostCell:)]) {
  447. [_delegate onCommentInRepostCell:self];
  448. }
  449. }
  450. - (void)onLike{
  451. if (_delegate && [_delegate respondsToSelector:@selector(onLikeInRepostCell:)]) {
  452. [_delegate onLikeInRepostCell:self];
  453. }
  454. }
  455. - (void)onShare{
  456. if (_delegate && [_delegate respondsToSelector:@selector(onShareInRepostCell:)]) {
  457. [_delegate onShareInRepostCell:self];
  458. }
  459. }
  460. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  461. [super setSelected:selected animated:animated];
  462. // Configure the view for the selected state
  463. }
  464. @end