PopOverViewSettings.swift 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //
  2. // PopOverViewSettings.swift
  3. // SwiftBilibili
  4. //
  5. // Created by 罗文 on 2021/1/24.
  6. // Copyright © 2021年 罗文. All rights reserved.
  7. //
  8. import UIKit
  9. struct PopOverViewSettings {
  10. struct Behavior {
  11. /** 点击是否隐藏 默认是true **/
  12. var hideOnTap = true
  13. /** 是否允许滚动 默认是false **/
  14. var scrollEnable = false
  15. /** 是否具有弹性 默认是false **/
  16. var bounces = false
  17. }
  18. struct ArrowViewStyle {
  19. /** 边缘是否对齐 默认是false **/
  20. var edgeAlignment = false
  21. var height = CGFloat(15.0)
  22. var width = CGFloat(22.0)
  23. /** 箭头距离目标的偏移 默认是5.0 **/
  24. var targetOffest = CGFloat(5.0)
  25. var igoreOffest = CGFloat(44)
  26. var upOffest = CGFloat(170)
  27. var arrowCornerRadius = CGFloat(0)
  28. var arrowBottomCornerRadius = CGFloat(4.0)
  29. }
  30. struct OverViewStyle {
  31. var coverViewColor = UIColor.black.withAlphaComponent(0.05)
  32. var backgroundColor = UIColor.white
  33. var horizontalMargin = CGFloat(10.0)
  34. var verticalMargin = CGFloat(30.0)
  35. var viewCornerRadius = CGFloat(6.0)
  36. var viewWidth = CGFloat(150.0)
  37. }
  38. struct AnimationStyle {
  39. var scale: CGSize = CGSize(width: 0.01, height: 0.01)
  40. var duration = TimeInterval(0.25)
  41. var tapShouldAnimated = false
  42. }
  43. var behavior = Behavior()
  44. var arrowView = ArrowViewStyle()
  45. var overView = OverViewStyle()
  46. var animation = AnimationStyle()
  47. static func defaultSettings() -> PopOverViewSettings {
  48. return PopOverViewSettings()
  49. }
  50. }