CCMain+Swift.swift 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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) {
  11. if(self.searchController.isActive && scrollView.contentOffset.y > 44) {
  12. let searchBar = self.searchController.searchBar
  13. if(searchBar.layer.sublayers!.count < 2) {
  14. let border = CALayer()
  15. border.backgroundColor = UIColor.lightGray.withAlphaComponent(0.6).cgColor
  16. border.frame = CGRect(x: 0, y: searchBar.frame.height - 1, width: searchBar.frame.size.width, height: 1)
  17. searchBar.layer.addSublayer(border)
  18. }
  19. } else {
  20. let searchBar = self.searchController.searchBar
  21. if(searchBar.layer.sublayers!.count > 1) {
  22. searchBar.layer.sublayers?.removeLast()
  23. }
  24. }
  25. if (scrollView.contentOffset.y > self.viewRichWorkspace.topView.frame.size.height) {
  26. if #available(iOS 13.0, *) {
  27. let navBarAppearance = UINavigationBarAppearance()
  28. navBarAppearance.configureWithOpaqueBackground()
  29. navBarAppearance.backgroundColor = .systemBackground
  30. self.navigationController?.navigationBar.standardAppearance = navBarAppearance
  31. } else {
  32. self.navigationController?.navigationBar.barStyle = .default
  33. self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.backgroundView
  34. self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.brand
  35. self.navigationController?.navigationBar.shadowImage = nil
  36. }
  37. self.navigationController?.navigationBar.setNeedsLayout()
  38. } else {
  39. if #available(iOS 13.0, *) {
  40. let navBarAppearance = UINavigationBarAppearance()
  41. navBarAppearance.configureWithOpaqueBackground()
  42. navBarAppearance.backgroundColor = .systemBackground
  43. navBarAppearance.shadowColor = .clear
  44. navBarAppearance.shadowImage = UIImage()
  45. self.navigationController?.navigationBar.standardAppearance = navBarAppearance
  46. } else {
  47. self.navigationController?.navigationBar.barStyle = .default
  48. self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.backgroundView
  49. self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.brand
  50. self.navigationController?.navigationBar.shadowImage = UIImage()
  51. }
  52. self.navigationController?.navigationBar.setNeedsLayout()
  53. }
  54. }
  55. }