JCMessageOptions.swift 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //
  2. // JCMessageOptions.swift
  3. // JChat
  4. //
  5. // Created by deng on 2017/3/8.
  6. // Copyright © 2017年 HXHG. All rights reserved.
  7. //
  8. import UIKit
  9. import JMessage
  10. /// 消息类型
  11. @objc public enum JCMessageStyle: Int {
  12. case notice
  13. case bubble
  14. }
  15. /// 消息对齐方式
  16. @objc public enum JCMessageAlignment: Int {
  17. case left
  18. case right
  19. case center
  20. }
  21. @objc public enum JCMessageState: Int {
  22. case sending
  23. case sendError
  24. case sendSucceed
  25. case downloadFailed
  26. }
  27. /// 消息选项
  28. @objc open class JCMessageOptions: NSObject {
  29. public override init() {
  30. super.init()
  31. }
  32. public convenience init(with content: JCMessageContentType) {
  33. self.init()
  34. switch content {
  35. case is JCMessageNoticeContent:
  36. self.style = .notice
  37. self.alignment = .center
  38. self.showsCard = false
  39. self.showsAvatar = false
  40. self.showsBubble = true
  41. self.isUserInteractionEnabled = false
  42. case is JCMessageTimeLineContent:
  43. self.style = .notice
  44. self.alignment = .center
  45. self.showsCard = false
  46. self.showsAvatar = false
  47. self.showsBubble = false
  48. self.isUserInteractionEnabled = false
  49. // case is JCMessageImageContent:
  50. // self.showsTips = false
  51. default:
  52. break
  53. }
  54. }
  55. open var style: JCMessageStyle = .bubble
  56. open var alignment: JCMessageAlignment = .left
  57. open var isUserInteractionEnabled: Bool = true
  58. open var showsCard: Bool = false
  59. open var showsAvatar: Bool = true
  60. open var showsBubble: Bool = true
  61. open var showsTips: Bool = true
  62. open var state: JCMessageState = .sendSucceed
  63. internal func fix(with content: JCMessageContentType) {
  64. }
  65. }