ImageFileCell.swift 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. //
  2. // ImageFileCell.swift
  3. // JChat
  4. //
  5. // Created by 邓永豪 on 2017/8/28.
  6. // Copyright © 2017年 HXHG. All rights reserved.
  7. //
  8. import UIKit
  9. class ImageFileCell: UICollectionViewCell {
  10. var isEditMode: Bool {
  11. get {
  12. return !selectView.isHidden
  13. }
  14. set {
  15. selectView.isHidden = !newValue
  16. }
  17. }
  18. var isSelectImage: Bool {
  19. get {
  20. return isSelect
  21. }
  22. set {
  23. if newValue {
  24. selectView.image = UIImage.loadImage("com_icon_file_select")
  25. } else {
  26. selectView.image = UIImage.loadImage("com_icon_file_unselect")
  27. }
  28. isSelect = newValue
  29. }
  30. }
  31. override init(frame: CGRect) {
  32. super.init(frame: frame)
  33. _init()
  34. }
  35. required init?(coder aDecoder: NSCoder) {
  36. fatalError("init(coder:) has not been implemented")
  37. }
  38. func bindDate(_ message: JMSGMessage) {
  39. if message.contentType == .image {
  40. let content = message.content as! JMSGImageContent
  41. content.largeImageData(progress: nil, completionHandler: { (data, msgId, error) in
  42. if msgId == message.msgId {
  43. if let data = data {
  44. let image = UIImage(data: data)
  45. self.imageView.image = image
  46. }
  47. }
  48. })
  49. }
  50. guard let content = message.content as? JMSGFileContent else {
  51. return
  52. }
  53. content.fileData { (data, msgId, error) in
  54. if msgId == message.msgId {
  55. if let data = data {
  56. let image = UIImage(data: data)
  57. self.imageView.image = image
  58. }
  59. }
  60. }
  61. }
  62. lazy var imageView: UIImageView = UIImageView()
  63. private var isSelect = false
  64. private lazy var selectView: UIImageView = UIImageView()
  65. private func _init(){
  66. imageView.frame = CGRect(x: 0, y: 0, width: self.width, height: self.height)
  67. imageView.contentMode = .scaleAspectFit
  68. imageView.clipsToBounds = true
  69. addSubview(imageView)
  70. selectView.isHidden = true
  71. selectView.frame = CGRect(x: self.width - 31, y: 5, width: 21, height: 21)
  72. selectView.image = UIImage.loadImage("com_icon_file_unselect")
  73. addSubview(selectView)
  74. }
  75. }