marinofaggiana 5 ani în urmă
părinte
comite
767abc978b
1 a modificat fișierele cu 15 adăugiri și 6 ștergeri
  1. 15 6
      iOSClient/Viewer/NCViewerPDF/NCViewerPDF.swift

+ 15 - 6
iOSClient/Viewer/NCViewerPDF/NCViewerPDF.swift

@@ -34,6 +34,7 @@ import PDFKit
     private var pdfDocument: PDFDocument?
     private let pageView = UIView()
     private let pageViewLabel = UILabel()
+    private var pageViewWidthAnchor : NSLayoutConstraint?
     
     required init?(coder: NSCoder) {
         super.init(coder: coder)
@@ -44,17 +45,23 @@ import PDFKit
         let height = frame.height - thumbnailViewHeight
         super.init(frame: CGRect(x: frame.origin.x, y: frame.origin.y, width: frame.width, height: height))
         
-        NotificationCenter.default.addObserver(self, selector: #selector(self.changeTheming), name: NSNotification.Name(rawValue: k_notificationCenter_changeTheming), object: nil)
-        NotificationCenter.default.addObserver(self, selector: #selector(self.searchText), name: NSNotification.Name(rawValue: k_notificationCenter_menuSearchTextPDF), object: nil)
-        NotificationCenter.default.addObserver(self, selector: #selector(handlePageChange(notification:)), name: Notification.Name.PDFViewPageChanged, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(changeTheming), name: NSNotification.Name(rawValue: k_notificationCenter_changeTheming), object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(searchText), name: NSNotification.Name(rawValue: k_notificationCenter_menuSearchTextPDF), object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(handlePageChange), name: Notification.Name.PDFViewPageChanged, object: nil)
     }
     
-    @objc private func handlePageChange(notification: Notification) {
+    @objc private func handlePageChange() {
         
-        guard let curPage = currentPage?.pageRef?.pageNumber else { return }
+        guard let curPage = currentPage?.pageRef?.pageNumber else { pageView.alpha = 0; return }
         guard let totalPages = document?.pageCount else { return }
         
+        pageView.alpha = 1
         pageViewLabel.text = String(curPage) + " " + NSLocalizedString("_of_", comment: "") + " " + String(totalPages)
+        pageViewWidthAnchor?.constant = pageViewLabel.intrinsicContentSize.width + 10
+        
+        UIView.animate(withDuration: 1.0, delay: 3.0, animations: {
+            self.pageView.alpha = 0
+        })
     }
     
     @objc func changeTheming() {
@@ -100,7 +107,8 @@ import PDFKit
         view.addSubview(pageView)
         
         pageView.heightAnchor.constraint(equalToConstant: 30).isActive = true
-        pageView.widthAnchor.constraint(equalToConstant: 90).isActive = true
+        pageViewWidthAnchor = pageView.widthAnchor.constraint(equalToConstant: 10)
+        pageViewWidthAnchor?.isActive = true
         pageView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 5).isActive = true
         pageView.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor, constant: 5).isActive = true
         
@@ -116,6 +124,7 @@ import PDFKit
         pageViewLabel.bottomAnchor.constraint(equalTo: pageView.bottomAnchor).isActive = true
         
         view.layoutIfNeeded()
+        handlePageChange()
         
         let tapGesture = UITapGestureRecognizer(target: self, action: #selector(didTap(_:)))
         tapGesture.numberOfTapsRequired = 1