NIMImageContentConfig.m 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //
  2. // NIMImageContentConfig.m
  3. // NIMKit
  4. //
  5. // Created by amao on 9/15/15.
  6. // Copyright (c) 2015 NetEase. All rights reserved.
  7. //
  8. #import "NIMImageContentConfig.h"
  9. #import "UIImage+NIMKit.h"
  10. #import "NIMKit.h"
  11. @implementation NIMImageContentConfig
  12. - (CGSize)contentSize:(CGFloat)cellWidth message:(NIMMessage *)message
  13. {
  14. NIMImageObject *imageObject = (NIMImageObject*)[message messageObject];
  15. NSAssert([imageObject isKindOfClass:[NIMImageObject class]], @"message should be image");
  16. CGFloat attachmentImageMinWidth = (cellWidth / 4.0);
  17. CGFloat attachmentImageMinHeight = (cellWidth / 4.0);
  18. CGFloat attachmemtImageMaxWidth = (cellWidth - 184);
  19. CGFloat attachmentImageMaxHeight = (cellWidth - 184);
  20. CGSize imageSize;
  21. if (!CGSizeEqualToSize(imageObject.size, CGSizeZero)) {
  22. imageSize = imageObject.size;
  23. }
  24. else
  25. {
  26. UIImage *image = [UIImage imageWithContentsOfFile:imageObject.thumbPath];
  27. imageSize = image ? image.size : CGSizeZero;
  28. }
  29. CGSize contentSize = [UIImage nim_sizeWithImageOriginSize:imageSize
  30. minSize:CGSizeMake(attachmentImageMinWidth, attachmentImageMinHeight)
  31. maxSize:CGSizeMake(attachmemtImageMaxWidth, attachmentImageMaxHeight )];
  32. return contentSize;
  33. }
  34. - (NSString *)cellContent:(NIMMessage *)message
  35. {
  36. return @"NIMSessionImageContentView";
  37. }
  38. - (UIEdgeInsets)contentViewInsets:(NIMMessage *)message
  39. {
  40. return UIEdgeInsetsZero;
  41. // return [[NIMKit sharedKit].config setting:message].contentInsets;
  42. }
  43. @end