CCMain+Swift.swift 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // CCMain+Swift.swift
  3. // Nextcloud
  4. //
  5. // Created by Philippe Weidmann on 24.04.20.
  6. // Copyright © 2020 Marino Faggiana. All rights reserved.
  7. //
  8. import Foundation
  9. extension CCMain {
  10. @objc func updateNavBarShadow(_ scrollView: UIScrollView, force: Bool) {
  11. if (scrollView.contentOffset.y > self.viewRichWorkspace.topView.frame.size.height || self.searchController.isActive || force) {
  12. if #available(iOS 13.0, *) {
  13. let navBarAppearance = UINavigationBarAppearance()
  14. navBarAppearance.configureWithOpaqueBackground()
  15. navBarAppearance.backgroundColor = .systemBackground
  16. self.navigationController?.navigationBar.standardAppearance = navBarAppearance
  17. self.navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
  18. } else {
  19. self.navigationController?.navigationBar.barStyle = .default
  20. self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.backgroundView
  21. self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.brand
  22. self.navigationController?.navigationBar.shadowImage = nil
  23. self.navigationController?.navigationBar.setValue(false, forKey: "hidesShadow")
  24. }
  25. self.navigationController?.navigationBar.setNeedsLayout()
  26. } else {
  27. if #available(iOS 13.0, *) {
  28. let navBarAppearance = UINavigationBarAppearance()
  29. navBarAppearance.configureWithOpaqueBackground()
  30. navBarAppearance.backgroundColor = .systemBackground
  31. navBarAppearance.shadowColor = .clear
  32. navBarAppearance.shadowImage = UIImage()
  33. self.navigationController?.navigationBar.standardAppearance = navBarAppearance
  34. self.navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
  35. } else {
  36. self.navigationController?.navigationBar.barStyle = .default
  37. self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.backgroundView
  38. self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.brand
  39. self.navigationController?.navigationBar.shadowImage = UIImage()
  40. self.navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
  41. }
  42. self.navigationController?.navigationBar.setNeedsLayout()
  43. }
  44. }
  45. }