MessageView.m 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. //
  2. // MessageView.m
  3. // live
  4. //
  5. // Created by hysd on 15/7/22.
  6. // Copyright (c) 2015年 kenneth. All rights reserved.
  7. #import "MessageView.h"
  8. #import "UIImageView+WebCache.h"
  9. @implementation MessageView
  10. - (id)initWithView:(UIView*)view customMessageModel:(CustomMessageModel *)customMessageModel
  11. {
  12. self = [[[NSBundle mainBundle] loadNibNamed:@"MessageView" owner:self options:nil] lastObject];
  13. if(self)
  14. {
  15. self.backgroundColor = [UIColor clearColor];
  16. self.customMessageModel = customMessageModel;
  17. NSString *message = customMessageModel.desc;
  18. NSString *userName = customMessageModel.sender.nick_name;
  19. //头像
  20. self.logoImageView.layer.cornerRadius = self.logoImageView.frame.size.height/2;
  21. self.logoImageView.clipsToBounds = YES;
  22. self.logoImageView.layer.borderWidth = 1;
  23. self.logoImageView.layer.borderColor = kAppMainColor.CGColor;
  24. self.logoImageView.userInteractionEnabled = YES;
  25. UITapGestureRecognizer *tapLogo = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapLogoAction:)];
  26. [self.logoImageView addGestureRecognizer:tapLogo];
  27. NSString *headUrlStr = customMessageModel.sender.head_image;
  28. if (customMessageModel.sender.is_noble_mysterious.integerValue) {
  29. self.logoImageView.image = [UIImage imageNamed:@"live_noble_HeadImg"];
  30. }else{
  31. if(headUrlStr && ![headUrlStr isEqualToString:@""])
  32. {
  33. [self.logoImageView sd_setImageWithURL:[NSURL URLWithString:headUrlStr] placeholderImage:kDefaultPreloadHeadImg];
  34. }else{
  35. self.logoImageView.image = [UIImage imageNamed:@"default_head.jpg"];
  36. }
  37. }
  38. //昵称
  39. // self.nameLabel.textColor = kAppGrayColor1;
  40. if (customMessageModel.sender.is_noble_mysterious.integerValue) {
  41. self.nameLabel.text = ASLocalizedString(@"神秘人");
  42. }else{
  43. self.nameLabel.text = userName;
  44. }
  45. //消息背景
  46. self.messageView.backgroundColor = kGrayTransparentColor3;
  47. self.messageView.layer.cornerRadius = self.messageView.frame.size.height/2;
  48. self.messageView.clipsToBounds = YES;
  49. //消息
  50. self.messageLabel.textColor = [UIColor whiteColor];
  51. self.messageLabel.numberOfLines = 1;
  52. self.messageLabel.lineBreakMode = NSLineBreakByTruncatingTail;
  53. self.messageLabel.preferredMaxLayoutWidth = kScreenW-self.logoImageView.frame.size.width-50;
  54. self.messageLabel.text = message;
  55. self.date = [NSDate date];
  56. [view addSubview:self];
  57. CGSize size = [self systemLayoutSizeFittingSize:view.frame.size];
  58. self.frame = CGRectMake(kScreenW, BARRAGE_VIEW_Y_1, size.width, size.height);
  59. }
  60. return self;
  61. }
  62. - (void)tapLogoAction:(UITapGestureRecognizer *)tapGesture{
  63. CGPoint touchPoint = [tapGesture locationInView:self.logoImageView];
  64. if ([self.logoImageView.layer.presentationLayer hitTest:touchPoint]) {
  65. NSLog(@"presentationLayer");
  66. }
  67. if (_delegate && [_delegate respondsToSelector:@selector(tapLogo:customMessageModel:)]) {
  68. [_delegate tapLogo:self customMessageModel:self.customMessageModel];
  69. }
  70. }
  71. @end