marinofaggiana преди 5 години
родител
ревизия
162e6aa586
променени са 3 файла, в които са добавени 31 реда и са изтрити 23 реда
  1. 1 0
      iOSClient/Share/NCShare.storyboard
  2. 29 17
      iOSClient/Share/NCShare.swift
  3. 1 6
      iOSClient/Share/NCShareLinkMenuView.xib

+ 1 - 0
iOSClient/Share/NCShare.storyboard

@@ -152,6 +152,7 @@
                         <outlet property="searchField" destination="iSO-mc-0TB" id="1vY-Js-dGQ"/>
                         <outlet property="shareLinkImage" destination="8Cj-cK-AKZ" id="dIZ-nv-gyf"/>
                         <outlet property="shareLinkLabel" destination="SQW-aQ-ydN" id="nBK-WJ-oKy"/>
+                        <outlet property="tableView" destination="c94-b9-Sim" id="ZlE-Fh-kaR"/>
                         <outlet property="viewContainerConstraint" destination="aXO-v9-CBF" id="R19-WO-im5"/>
                     </connections>
                 </viewController>

+ 29 - 17
iOSClient/Share/NCShare.swift

@@ -230,23 +230,23 @@ class NCShareComments: UIViewController {
 
 // MARK: - Share
 
-class NCShare: UIViewController {
+class NCShare: UIViewController, UIGestureRecognizerDelegate {
     
     var metadata: tableMetadata?
     private let appDelegate = UIApplication.shared.delegate as! AppDelegate
-    private var shareLinkMenuView: NCShareLinkMenuView?
 
-    var height: CGFloat = 0
-    
+    public var height: CGFloat = 0
     private let iconShare: CGFloat = 200
+    private var viewMenuShareLink: UIView?
+    private var shareLinkMenuView: NCShareLinkMenuView?
 
-    
     @IBOutlet weak var viewContainerConstraint: NSLayoutConstraint!
     @IBOutlet weak var searchField: UITextField!
     @IBOutlet weak var returnSearchButton: UIButton!
     @IBOutlet weak var shareLinkImage: UIImageView!
     @IBOutlet weak var shareLinkLabel: UILabel!
     @IBOutlet weak var addShareLinkButton: UIButton!
+    @IBOutlet weak var tableView: UITableView!
     
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -261,20 +261,12 @@ class NCShare: UIViewController {
 
         let bottomImage = CCGraphics.changeThemingColorImage(UIImage.init(named: "circle"), width: 200, height: 200, color: NCBrandColor.sharedInstance.nextcloud)
         let topImage = CCGraphics.changeThemingColorImage(UIImage.init(named: "sharebylink"), width: 200, height: 200, color: UIColor.white)
-
         UIGraphicsBeginImageContextWithOptions(CGSize(width: iconShare, height: iconShare), false, 0.0)
         bottomImage?.draw(in: CGRect(origin: CGPoint.zero, size: CGSize(width: iconShare, height: iconShare)))
         topImage?.draw(in: CGRect(origin:  CGPoint(x: iconShare/4, y: iconShare/4), size: CGSize(width: iconShare/2, height: iconShare/2)))
-        
         shareLinkImage.image = UIGraphicsGetImageFromCurrentImageContext()
         UIGraphicsEndImageContext()
         
-        // Menu
-        shareLinkMenuView = Bundle.main.loadNibNamed("NCShareLinkMenuView", owner: self, options: nil)?.first as? NCShareLinkMenuView
-        let shareLinkMenuViewX = self.view.bounds.width-(shareLinkMenuView?.frame.width)! - 40
-        let shareLinkMenuViewY = height + 10
-        shareLinkMenuView?.frame = CGRect(x: shareLinkMenuViewX, y: shareLinkMenuViewY, width: (shareLinkMenuView?.frame.width)!, height: height+(shareLinkMenuView?.frame.height)!)
-        self.view.addSubview(shareLinkMenuView!)
     }
 }
 
@@ -283,7 +275,29 @@ class NCShare: UIViewController {
 extension NCShare {
     
     @IBAction func touchUpInsideAddShareLink(_ sender: Any) {
-        shareLinkMenuView?.isHidden = false
+        
+        let window = UIApplication.shared.keyWindow!
+        viewMenuShareLink = UIView(frame: window.bounds)
+        viewMenuShareLink?.backgroundColor = UIColor.red
+        window.addSubview(viewMenuShareLink!)
+        
+        let shareLinkMenuView = Bundle.main.loadNibNamed("NCShareLinkMenuView", owner: self, options: nil)?.first as? NCShareLinkMenuView
+        let shareLinkMenuViewX = self.view.bounds.width-(shareLinkMenuView?.frame.width)! - 40
+        let shareLinkMenuViewY = height + 10
+        shareLinkMenuView?.frame = CGRect(x: shareLinkMenuViewX, y: shareLinkMenuViewY, width: (shareLinkMenuView?.frame.width)!, height: (shareLinkMenuView?.frame.height)!)
+        viewMenuShareLink?.addSubview(shareLinkMenuView!)
+        
+        let tap = UITapGestureRecognizer(target: self, action: #selector(tapHandler))
+        tap.delegate = self
+        viewMenuShareLink?.addGestureRecognizer(tap)
+    }
+    
+    @objc func tapHandler(gesture: UITapGestureRecognizer) {
+        viewMenuShareLink?.removeFromSuperview()
+    }
+    
+    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
+        return gestureRecognizer.view == touch.view
     }
 }
 
@@ -316,15 +330,13 @@ class NCShareLinkMenuView: UIView {
     @IBOutlet weak var labelAddAnotherLink: UILabel!
     
     private let width: CGFloat = 250
-    private let height: CGFloat = 320
+    private let height: CGFloat = 400
     
     override func awakeFromNib() {
         
         self.frame.size.width = width
         self.frame.size.height = height
 
-        isHidden = true
-
         layer.borderColor = UIColor.lightGray.cgColor
         layer.borderWidth = 0.5
         layer.cornerRadius = 5

+ 1 - 6
iOSClient/Share/NCShareLinkMenuView.xib

@@ -11,7 +11,7 @@
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="NCShareLinkMenuView" customModule="Nextcloud" customModuleProvider="target">
+        <view opaque="NO" contentMode="scaleToFill" id="iN0-l3-epB" customClass="NCShareLinkMenuView" customModule="Nextcloud" customModuleProvider="target">
             <rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
@@ -210,11 +210,6 @@
             </connections>
             <point key="canvasLocation" x="-9.375" y="293.75"/>
         </view>
-        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" id="1LT-ru-hkm">
-            <rect key="frame" x="0.0" y="0.0" width="50" height="43"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-            <point key="canvasLocation" x="-197" y="398"/>
-        </imageView>
     </objects>
     <resources>
         <image name="add" width="25" height="25"/>