像锁定屏幕目标c一样滑动控制

时间:2014-03-03 16:53:58

标签: ios iphone objective-c ipad

我正在尝试像iOS 7的锁屏一样创建滑动效果。这意味着如果我有两个视图控制器,我想要刷第一个以显示第二个。我可以使用UISwipeGestureRecognizer来做到这一点。但是,我不知道如何在滑动锁定屏幕时实现滑动效果。请帮我提一些线索

2 个答案:

答案 0 :(得分:1)

Apple告诉您他们是如何在其中一个WWDC视频中实现锁定屏幕的。

查看

下的“探索iOS 7上的滚动视图”

https://developer.apple.com/wwdc/videos/

答案 1 :(得分:1)

我会在这个特定用例中使用UIPanGestureRecognizer。

https://developer.apple.com/library/ios/documentation/uikit/reference/UIPanGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/instm/UIPanGestureRecognizer/translationInView

基本上你设置了两个UIViewControllers框架的视图,所以第一个是可见的,另一个是在它的一边(屏幕外)然后你使用你指定的动作方法移动视图适当的数量,如此

CGPoint movedAmount = panningLastTouchLocation.x - [panRecognizer locationInView:self.view].x;
CGRect frame1 = firstVC.view.frame;
CGRect frame2 = secondVC.view.frame;

frame1.x -= movedAmount;
frame2.x -= movedAmount;

firstVC.view.frame = frame1;
secondVC.view.frame = frame2;
panningLastTouchLocation = [panner locationInView:self.view];

基本上如果它们滑动得足够远,那么只需为剩下的视图设置动画以转到新视图

相关问题