我正在尝试复制this gif中的效果。
我认为这可以通过UIPanGestureRecognizer完成,但我不确定。谢谢!
答案 0 :(得分:1)
使用UIPanGestureRecognizer可以很容易地完成。使用translationInView查看用户手指移动了多少,并根据手指移动移动视图。在此示例中,self指向视图控制器,view1是您要拖动的顶部视图。
UIPanGestureRecognizer* pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
[self.view addGestureRecognizer:pan];
处理它:
-(void)handlePan:(UIPanGestureRecognizer*)sender
{
CGFloat xMovement = [sender translationInView:sender.view].x;
// Do something with the movement
view1.frame = CGRectOffset(view1.frame, xMovement, 0);
// Then reset the translation
[sender setTranslation:CGPointZero inView:sender.view];
}