LZImageBrowserModel.m 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // LZImageBrowserModel.m
  3. // LZImageDetail
  4. //
  5. // Created by shenzhenshihua on 2018/4/28.
  6. // Copyright © 2018年 shenzhenshihua. All rights reserved.
  7. //
  8. #import "LZImageBrowserModel.h"
  9. #import <SDWebImage/SDImageCache.h>
  10. #import "LZImageBrowserHeader.h"
  11. @implementation LZImageBrowserModel
  12. - (CGRect)smallImageViewframeOriginWindow {
  13. return [self.smallImageView convertRect:self.smallImageView.bounds toView:self.smallImageView.window];
  14. }
  15. - (CGSize)smallImageSize {
  16. return self.smallImageView.image.size;
  17. }
  18. - (CGSize)bigImageSize {
  19. return self.bigImageView.image.size;
  20. }
  21. - (BOOL)isCacheImageKey:(NSString *)key {
  22. if ([[SDImageCache sharedImageCache] imageFromCacheForKey:key]) {
  23. return YES;
  24. }
  25. return NO;
  26. }
  27. - (UIImage *)getCurrentImage {
  28. if ([self isCacheImageKey:self.urlStr]) {
  29. return [[SDImageCache sharedImageCache] imageFromCacheForKey:self.urlStr];
  30. } else {
  31. return _smallImageView.image;
  32. }
  33. }
  34. - (CGRect)imageViewframeShowWindow {
  35. CGFloat imageW = self.smallImageSize.width;
  36. CGFloat imageH = self.smallImageSize.height;
  37. CGRect frame;
  38. CGFloat H = Screen_Width * imageH/imageW;
  39. if (imageH/imageW > Screen_Height/Screen_Width) {
  40. //长图 指图片宽度方大为屏幕宽度时,高度超过屏幕高度
  41. frame = CGRectMake(0, 0, Screen_Width, H);
  42. } else {
  43. //非 长图
  44. frame = CGRectMake(0, Screen_Height/2 - H/2, Screen_Width, H);
  45. }
  46. return frame;
  47. }
  48. - (CGRect)bigImageViewFrameOnScrollView {
  49. CGRect scrollViewFrame = _bigScrollView.frame;
  50. CGFloat H = scrollViewFrame.size.width * self.bigImageSize.height/self.bigImageSize.width;
  51. CGPoint center = _bigScrollView.center;
  52. return CGRectMake(center.x - scrollViewFrame.size.width/2, center.y - H/2, scrollViewFrame.size.width, H);
  53. }
  54. @end