2016-12-19 4 views
-8

iOS向けのUberアプリと同じように、画面の下部にとどまり、パンジェスチャーで拡大表示できるビューを実装する最適な方法は何ですか? Uber Home screen下にドラッグするとビューが最小化されますiOSのパンジェスチャーを使用してUIViewを展開する

+0

何を試しましたか?進行中の実装を投稿してください。 – JAL

+0

私はちょうど私が私が何かをすることができます開始する方法を知っているときに開始する方法が必要です。私はすでにメインビューのViewControllerを持っているので、サブビューとしてuiviewを追加するのですか、それとも別のビューコントローラですか? –

答えて

0

作業が楽になるライブラリはほとんどありません。これはその一つです。 LNPopUpController

コードをカスタマイズして書き込みたい場合は、次のようにします。1つのビューコントローラを用意し、その上にUIViewを追加します。 Panジェスチャーを追加すると、以下のように表示されます。

func handlePan(pan : UIPanGestureRecognizer) { 

LET速度= pan.velocityInView(self.superview).Y //。印刷(「速度:(速度)」)

var location = pan.locationInView(self.superview!) //; print("Location : \(location)") 

    var movement = self.frame 
    movement.origin.x = 0 
    movement.origin.y = movement.origin.y + (velocity * 0.05) //; print("Frame.y : \(movement.origin.y)") 

    if pan.state == .Ended{ 
     print("Gesture Ended") 
     panGestureEnded() 
    }else if pan.state == .Began { print("Gesture Began") 
     let center = self.center 
     offset.y = location.y - center.y //; print("Offset.y : \(offset.y)") 


    }else{ print("Gesture else") 
     animator.removeBehavior(snap) 

     // Apply the initial offset. 
     location.x -= offset.x 
     location.y -= offset.y 

     //print("location.y : \(location.y)") 

     // Bound the item position inside the reference view. 
     location.x = self.superview!.frame.width/2 

     // Apply the resulting item center. 
     snap = UISnapBehavior(item: self, snapToPoint: location) 
     animator.addBehavior(snap) 


    } 


} 
+0

どうすれば本当に始めることができますか?私はすでにストーリーボードのビューコントローラーとしてメインビューを持っています。私はそのビューアまたは別のビューコントローラのためのサブビューとしてUIViewを使用するのですか? –

関連する問題