Nessuna descrizione

NavigationBarConfiguration.swift 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // NavigationBarConfiguration.swift
  3. // PaiaiUIKit
  4. //
  5. // Created by ffib on 2019/5/8.
  6. // Copyright © 2019 FFIB. All rights reserved.
  7. //
  8. import UIKit
  9. struct NavigationBarConfiguration {
  10. var isHidden: Bool
  11. var isTranslucent: Bool
  12. var barStyle: UIBarStyle
  13. var shadowImage: UIImage?
  14. var backgroundImage: UIImage?
  15. static var `default`: NavigationBarConfiguration {
  16. return NavigationBarConfiguration()
  17. }
  18. static var transparent: NavigationBarConfiguration {
  19. return NavigationBarConfiguration(isHidden: false, isTranslucent: true,
  20. shadowImage: UIImage(), backgroundImage: UIImage())
  21. }
  22. init(isHidden: Bool = false,
  23. isTranslucent: Bool = false,
  24. tintColor: UIColor = .black,
  25. shadowImage: UIImage? = nil,
  26. barTintColor: UIColor? = nil,
  27. backgroundImage: UIImage? = nil,
  28. barStyle: UIBarStyle = .default,
  29. titleTextAttributes: [NSAttributedString.Key: Any] = [:]) {
  30. self.isHidden = isHidden
  31. self.barStyle = barStyle
  32. self.shadowImage = shadowImage
  33. self.isTranslucent = isTranslucent
  34. self.backgroundImage = backgroundImage
  35. }
  36. init(navigationBar: UINavigationBar) {
  37. isHidden = navigationBar.isHidden
  38. barStyle = navigationBar.barStyle
  39. shadowImage = navigationBar.shadowImage
  40. isTranslucent = navigationBar.isTranslucent
  41. backgroundImage = navigationBar.backgroundImage(for: .default)
  42. }
  43. }