2016-06-29 6 views
0

私は2つのスクロールビューを持っていますが、そのうちの1つは親ビュー全体を占めるようにする制約があり、もう1つは親ビューの境界の外に隠れて表示されます。私は2番目のスクロールビューが完全な親ビューを占めるまで左にスライドさせ、最初のスクロールビューは現在は左の範囲外になります。 Swiftを使用しているOS Xアプリでこれを行うにはどうすればよいですか?Swiftを使用したOS Xアプリケーションのアニメーション表示ムーブメント

答えて

5

これをちょっとした狩猟と物事をつなぎ合わせて考え出しました。

アニメーションで変更する制約のIBOutletを作成します。この場合、スクロール・ビューごとに先頭の制約を使用します。

その後
@IBOutlet weak var ScrollView1LeadingConstraint: NSLayoutConstraint! 
@IBOutlet weak var ScrollView2LeadingConstraint: NSLayoutConstraint! 

、以下を使用します。

NSAnimationContext.runAnimationGroup({ (context) -> Void in 
    context.duration = //length of the animation time in seconds 
    self. ScrollView1LeadingConstraint.animator().constant = //negative width of scroll view 
    self.ScrollView2LeadingConstraint.animator().constant = 0 
}, completionHandler: {() -> Void in 
    //insert any completion code here 
}) 

これは、左側のフレームのうち最初のスクロールビューをアニメーション化し、その元の場所に第2スクロールビューを移動します。

関連する問題