ReplyFrame.m 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // ReplyFrame.m
  3. // IBOSS
  4. //
  5. // Created by guan hong hou on 16/1/20.
  6. // Copyright © 2016年 elongtian. All rights reserved.
  7. //
  8. #import "ReplyFrame.h"
  9. #import "NSString+Tools.h"
  10. #define kTextFont [UIFont systemFontOfSize:16]
  11. //回复布局
  12. @implementation ReplyFrame
  13. -(void)setReplyInfoFrame:(ReplyInfo *)replyInfo{
  14. _replyInfo=replyInfo;
  15. NSDictionary *logDict = @{NSFontAttributeName:kTextFont};
  16. CGFloat padding =5;
  17. NSString *replier= [replyInfo userName];
  18. if(replier!=nil&&replier.length>0){
  19. NSString *replierName=[NSString stringWithFormat:@"%@:",replier];
  20. CGRect replierFrame = [replierName textRectWithSize:CGSizeMake(100, MAXFLOAT) attributes:logDict];
  21. replierFrame.origin.x =padding;
  22. replierFrame.origin.y =padding;
  23. _replierF=replierFrame;
  24. }
  25. NSString *replyContent=[replyInfo replyContent];
  26. NSString *replierAtName=[replyInfo RepliedUserName];
  27. if(replierAtName!=nil&&replierAtName.length>0){
  28. BOOL result = [replier caseInsensitiveCompare:replierAtName]== NSOrderedSame;
  29. if(!result){
  30. NSString *replierAtUserName=[NSString stringWithFormat:@"@%@",replierAtName];
  31. CGRect replierAtFrame = [replierAtUserName textRectWithSize:CGSizeMake(100, MAXFLOAT) attributes:logDict];
  32. replierAtFrame.origin.x=CGRectGetMaxX(_replierF)+1;
  33. replierAtFrame.origin.y=padding;
  34. _replierAtF=replierAtFrame;
  35. if(replyContent!=nil&&replyContent.length>0){
  36. CGRect replyContentFrame = [replyContent textRectWithSize:CGSizeMake(Screen_Width-CGRectGetMaxX(_replierAtF)-50, MAXFLOAT) attributes:logDict];
  37. replyContentFrame.origin.x =CGRectGetMaxX(_replierAtF)+1;
  38. replyContentFrame.origin.y = padding;
  39. _replyContentF=replyContentFrame;
  40. _cellHeight=CGRectGetMaxY(_replyContentF);
  41. }
  42. }
  43. else{
  44. if(replyContent!=nil&&replyContent.length>0){
  45. CGRect replyContentFrame = [replyContent textRectWithSize:CGSizeMake(Screen_Width-CGRectGetMaxX(_replierF)-50, MAXFLOAT) attributes:logDict];
  46. replyContentFrame.origin.x =CGRectGetMaxX(_replierF)+1;
  47. replyContentFrame.origin.y = padding;
  48. _replyContentF=replyContentFrame;
  49. _cellHeight=CGRectGetMaxY(_replyContentF);
  50. }
  51. }
  52. }
  53. else{
  54. if(replyContent!=nil&&replyContent.length>0){
  55. CGRect replyContentFrame = [replyContent textRectWithSize:CGSizeMake(Screen_Width-CGRectGetMaxX(_replierF)-50, MAXFLOAT) attributes:logDict];
  56. replyContentFrame.origin.x =CGRectGetMaxX(_replierF)+1;
  57. replyContentFrame.origin.y = padding;
  58. _replyContentF=replyContentFrame;
  59. _cellHeight=CGRectGetMaxY(_replyContentF);
  60. }
  61. }
  62. }
  63. @end