CSFileDownUpFrameModel.m 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. //
  2. // CSFileDownUpFrameModel.m
  3. // zhuxun
  4. //
  5. // Created by winsoft on 17/6/23.
  6. //
  7. //
  8. #import "CSFileDownUpFrameModel.h"
  9. #import "NSString+Additions.h"
  10. #import "NSDate+Helper.h"
  11. #define FatherViewMaxWidth SCREEN_WIDTH
  12. //SIZE
  13. #define HeaderIconMarginX 5
  14. #define HeaderIconMarginY 10
  15. #define HeaderIconWH 40
  16. #define FileNameMarginHeaderIcon 5
  17. #define FileNameMarginY HeaderIconMarginY
  18. #define ExtensionSwitchMarginFileName 20
  19. #define ExtensionSwitchMarginX_Right 20
  20. #define ExtensionSwitchW 32
  21. #define ExtensionSwitchH 22
  22. #define FileSizeW 100
  23. #define FileCreateTimeMarginFileName 5
  24. #define FileCreateTimeMarginBottom FileNameMarginY
  25. @interface CSFileDownUpFrameModel()
  26. @property (nonatomic , assign, readonly) CGFloat cellHeight_unExtension;
  27. @property (nonatomic , assign, readonly) CGFloat cellHeight_extension;
  28. @end
  29. @implementation CSFileDownUpFrameModel
  30. - (instancetype)initWithCSFileDownUpModel:(CSFileDownUpModel *)csFileDownUpModel
  31. {
  32. if (self = [super init]) {
  33. _csFileDownUpModel = csFileDownUpModel;
  34. [self setData];
  35. [self setFrame];
  36. }
  37. return self;
  38. }
  39. - (void)setData
  40. {
  41. _strServerTime = [NSDate stringFromDate:[NSDate dateWithTimeIntervalSince1970:self.csFileDownUpModel.downUpTimeStamp/1000] withFormat:@"yyyy-MM-dd HH:mm"];
  42. _strUpdateTime = [NSDate stringFromDate:[NSDate dateWithTimeIntervalSince1970:self.csFileDownUpModel.downUpTimeStamp /1000] withFormat:@"yyyy-MM-dd HH:mm"];
  43. }
  44. - (void)setFrame
  45. {
  46. //x 基于 headericon
  47. //select的话是否需要重置.
  48. //header
  49. _headerIconImageViewFrame = CGRectMake(HeaderIconMarginX, HeaderIconMarginY, HeaderIconWH, HeaderIconWH);
  50. CGFloat fileNameMaxLength = FatherViewMaxWidth - 2 * HeaderIconMarginX - HeaderIconWH - ExtensionSwitchMarginFileName - ExtensionSwitchMarginX_Right - ExtensionSwitchW;
  51. CGSize fileNameSize = [self.csFileDownUpModel.name stringgetSizebyMaxWidth:fileNameMaxLength Font:FileNameFont];
  52. //name
  53. _fileNameLabelFrame = CGRectMake(CGRectGetMaxX(_headerIconImageViewFrame) + FileNameMarginHeaderIcon, FileNameMarginY, fileNameSize.width, fileNameSize.height);
  54. CGSize fileTimeSize = [self.strServerTime stringgetSizebyMaxWidth:fileNameMaxLength Font:FileCreateTimeFont];
  55. //time
  56. _fileCreateTimeLabelFrame = CGRectMake(_fileNameLabelFrame.origin.x, CGRectGetMaxY(_fileNameLabelFrame) + FileCreateTimeMarginFileName, fileTimeSize.width, fileTimeSize.height);
  57. _fileProcessSizeLabelFrame = CGRectMake(_fileNameLabelFrame.origin.x, CGRectGetMaxY(_fileNameLabelFrame) + FileCreateTimeMarginFileName, 150, fileTimeSize.height);;
  58. //extensionSwitch
  59. // _fileExtensionSwithImageViewFrame = CGRectMake(FatherViewMaxWidth - ExtensionSwitchW - ExtensionSwitchMarginX_Right, _fileNameLabelFrame.origin.y + 10, ExtensionSwitchW, ExtensionSwitchH);
  60. _fileExtensionSwithImageViewFrame = CGRectMake(FatherViewMaxWidth - ExtensionSwitchW - ExtensionSwitchMarginX_Right, 0, ExtensionSwitchW, CGRectGetMaxY(_fileCreateTimeLabelFrame));
  61. _fileProcessControllerViewFrame = CGRectMake(FatherViewMaxWidth - ControllViewWH - ExtensionSwitchMarginX_Right, _fileNameLabelFrame.origin.y, ControllViewWH, ControllViewWH);
  62. //size
  63. _fileSizeLabelFrame = CGRectMake(CGRectGetMinX(_fileExtensionSwithImageViewFrame) - FileSizeW, _fileCreateTimeLabelFrame.origin.y, FileSizeW, _fileCreateTimeLabelFrame.size.height);
  64. //fileextensionView
  65. _fileExtensionViewFrame = CGRectMake(0, CGRectGetMaxY(_fileCreateTimeLabelFrame) + FileCreateTimeMarginBottom, FatherViewMaxWidth, FileExtensionViewH);
  66. //eight
  67. _cellHeight_unExtension = CGRectGetMaxY(_fileCreateTimeLabelFrame) + FileCreateTimeMarginBottom;
  68. _cellHeight_extension = CGRectGetMaxY(_fileExtensionViewFrame);
  69. }
  70. - (void)setIsFileExtensionOP:(BOOL)isFileExtensionOP
  71. {
  72. _isFileExtensionOP = isFileExtensionOP;
  73. if (isFileExtensionOP) {
  74. _fileExtensionViewFrame = CGRectMake(0, CGRectGetMaxY(_fileCreateTimeLabelFrame) + FileCreateTimeMarginBottom, FatherViewMaxWidth, FileExtensionViewH);
  75. }else _fileExtensionViewFrame = CGRectMake(0, CGRectGetMaxY(_fileCreateTimeLabelFrame) + FileCreateTimeMarginBottom, FatherViewMaxWidth, 0);;
  76. }
  77. - (CGFloat)cellHeight
  78. {
  79. if (_isFileExtensionOP) {
  80. return ceil(_cellHeight_extension);
  81. }else return ceil(_cellHeight_unExtension);
  82. }
  83. @end