CCMain+Swift.swift 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. print(scrollView.contentOffset.y)
  12. if (scrollView.contentOffset.y > self.viewRichWorkspace.topView.frame.size.height || self.searchController.isActive || force) {
  13. if #available(iOS 13.0, *) {
  14. let navBarAppearance = UINavigationBarAppearance()
  15. navBarAppearance.configureWithOpaqueBackground()
  16. navBarAppearance.backgroundColor = .systemBackground
  17. self.navigationController?.navigationBar.standardAppearance = navBarAppearance
  18. self.navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
  19. } else {
  20. self.navigationController?.navigationBar.barStyle = .default
  21. self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.backgroundView
  22. self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.brand
  23. self.navigationController?.navigationBar.shadowImage = nil
  24. self.navigationController?.navigationBar.setValue(false, forKey: "hidesShadow")
  25. }
  26. self.navigationController?.navigationBar.setNeedsLayout()
  27. } else {
  28. if #available(iOS 13.0, *) {
  29. let navBarAppearance = UINavigationBarAppearance()
  30. navBarAppearance.configureWithOpaqueBackground()
  31. navBarAppearance.backgroundColor = .systemBackground
  32. navBarAppearance.shadowColor = .clear
  33. navBarAppearance.shadowImage = UIImage()
  34. self.navigationController?.navigationBar.standardAppearance = navBarAppearance
  35. self.navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
  36. } else {
  37. self.navigationController?.navigationBar.barStyle = .default
  38. self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.backgroundView
  39. self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.brand
  40. self.navigationController?.navigationBar.shadowImage = UIImage()
  41. self.navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
  42. }
  43. self.navigationController?.navigationBar.setNeedsLayout()
  44. }
  45. }
  46. }