1 #import "RadioModelFrame.h"
2 #import "SCUtil.h"
3 @implementation RadioModelFrame
4
5 -(void)setRadioModel:(RadioModel *)radioModel{
6 _radioModel = radioModel;
7
8 float cellH;
9
10 //头像
11 CGFloat iconX = WIDTHINIPHONE6(10);
12 CGFloat iconY = HEIGTHINIPHONE6(5);
13 CGFloat iconH = WIDTHINIPHONE6(60);
14 CGFloat iconW = WIDTHINIPHONE6(60);
15 self.iconFrameValue = [NSValue valueWithCGRect:CGRectMake(iconX, iconY, iconW, iconH)];
16
17 //昵称
18 CGFloat nickNameX = CGRectGetMaxX(CGRectMake(iconX, iconY, iconW, iconH)) + WIDTHINIPHONE6(5);
19 CGSize nickNameSize = [SCUtil sizeWithString:self.radioModel.publisherNickName font:HEADFONT size:CGSizeMake(SCREENWIDTH - WIDTHINIPHONE6(90), HEIGTHINIPHONE6(30))];
20 CGFloat nickNameY = iconY + HEIGTHINIPHONE6(20);
21 CGFloat nickNameW = nickNameSize.width;
22 CGFloat nickNameH = nickNameSize.height;
23 self.nickNameFrameValue = [NSValue valueWithCGRect:CGRectMake(nickNameX, nickNameY, nickNameW, nickNameH)];
24
25 //内容内容
26 CGFloat contentX = nickNameX;
27 CGFloat contentY = CGRectGetMaxY(CGRectMake(nickNameX, nickNameY, nickNameW, nickNameH)) + HEIGTHINIPHONE6(10);
28 CGSize contentSize = [SCUtil sizeWithString:self.radioModel.msgContent font:HEADFONT size:CGSizeMake(SCREENWIDTH- WIDTHINIPHONE6(80), 10000000)];
29 CGFloat contentW = contentSize.width;
30 CGFloat contentH = contentSize.height;
31 self.contentFrameValue = [NSValue valueWithCGRect:CGRectMake(contentX, contentY, contentW, contentH)];
32 cellH = contentH + HEIGTHINIPHONE6(60);
33
34 //时间显示
35 CGFloat timeX = nickNameX;
36 CGFloat timeY = cellH;
37 CGFloat timeW = WIDTHINIPHONE6(100);
38 CGFloat timeH = HEIGTHINIPHONE6(20);
39 self.timeFrameValue = [NSValue valueWithCGRect:CGRectMake(timeX, timeY, timeW, timeH)];
40
41 //评论、点赞按钮
42 CGFloat segY = cellH;
43 CGFloat segW = WIDTHINIPHONE6(30);
44 CGFloat segH = WIDTHINIPHONE6(30);
45 self.thumbBtnFrameValue = [NSValue valueWithCGRect:CGRectMake(SCREENWIDTH - WIDTHINIPHONE6(75), segY, segW, segH)];
46 self.commentBtnFrameValue = [NSValue valueWithCGRect:CGRectMake(SCREENWIDTH - WIDTHINIPHONE6(40), segY, segW, segH)];
47
48 cellH = CGRectGetMaxY(CGRectMake(SCREENWIDTH - WIDTHINIPHONE6(100), segY, segW, segH));
49
50 //点赞人显示
51 CGFloat thumX = nickNameX;
52 CGFloat thumY = cellH + HEIGTHINIPHONE6(0);
53 CGSize thumSize = [SCUtil sizeWithString:[_radioModel.thumbArray firstObject] font:FONT15TXT size:CGSizeMake((SCREENWIDTH - CGRectGetMinX([self.nickNameFrameValue CGRectValue]) - WIDTHINIPHONE6(30)), 10000000)];
54 CGFloat thumW = thumSize.width;
55 CGFloat thumH = thumSize.height;
56 if (thumSize.width > 1) {
57 thumW = thumSize.width + WIDTHINIPHONE6(20);
58 }else
59 thumH = 0.00f;
60
61 _thumbPersonFrameValue = [NSValue valueWithCGRect:CGRectMake(thumX, thumY, thumW, thumH)];
62 if (thumH != 0.0f) {
63 cellH += CGRectGetMaxY(CGRectMake(thumX, thumY, thumW, thumH));
64 }
65 //评论内容显示
66 CGFloat commentHeight = CGRectGetMaxY(CGRectMake(thumX, thumY, thumW, thumH)) + HEIGTHINIPHONE6(10);
67 if ([_radioModel.commentsArray count]) {
68 CGFloat commentX = nickNameX;
69 for (int i = 0; i < [self.radioModel.commentsArray count]; i++) {
70 NSDictionary *dictionry = [self.radioModel.commentsArray objectAtIndex:i];
71 NSString *commentName = [[dictionry objectForKey:@"CommentatorName"] stringByAppendingString:@":"];
72 NSString *commentContent = [dictionry objectForKey:@"CommentContent"];
73
74 CGSize commentSize = [SCUtil sizeWithString:[commentName stringByAppendingString:commentContent] font:FONT15TXT size:CGSizeMake(SCREENWIDTH - WIDTHINIPHONE6(100), 100000000)];
75 CGFloat commentY = commentHeight;
76 CGFloat commentW = commentSize.width + WIDTHINIPHONE6(10);
77 CGFloat commentH = commentSize.height;
78
79 cellH += commentH + HEIGTHINIPHONE6(2);
80 commentHeight += commentH + HEIGTHINIPHONE6(2);
81 CGRect segframe = CGRectMake(commentX, commentY, commentW, commentH);
82 [self.commentsArray addObject:[NSValue valueWithCGRect:segframe]];
83 }
84 cellH = CGRectGetMaxY([(NSValue *)[self.commentsArray lastObject] CGRectValue]) + HEIGTHINIPHONE6(10);
85 self.cellHeight = [NSString stringWithFormat:@"%.f",cellH];
86 CGFloat backGroundW = SCREENWIDTH - WIDTHINIPHONE6(90);
87 self.commentsBackGroundFrameValue = [NSValue valueWithCGRect:CGRectMake(nickNameX - WIDTHINIPHONE6(5), CGRectGetMaxY(CGRectMake(thumX, thumY, thumW, thumH)) + HEIGTHINIPHONE6(5), backGroundW + WIDTHINIPHONE6(10), commentHeight - CGRectGetMaxY(CGRectMake(thumX, thumY, thumW, thumH)))];
88 }else{
89 self.commentsBackGroundFrameValue = [NSValue valueWithCGRect:CGRectMake(nickNameX - WIDTHINIPHONE6(5), CGRectGetMaxY(CGRectMake(thumX, thumY, thumW, thumH)), 0, 0)];
90 self.cellHeight = [NSString stringWithFormat:@"%.f",CGRectGetMaxY(CGRectMake(thumX, thumY, thumW, thumH))];
91 }
92 }
93
94 -(NSMutableArray *)commentsArray{
95 if (!_commentsArray) {
96 _commentsArray = [[NSMutableArray alloc] init];
97 }
98 return _commentsArray;
99 }