0

我一直在寻找一种方法,使菜单从屏幕顶部向下移动 80 像素,并在用户从上到下滑动手指时让屏幕向下滑动(80 像素)(并在他们滑动时反转它)从上到下将其发送回来)。我该怎么做呢?任何事情都有帮助。谢谢!

4

1 回答 1

3
  1. 创建一个 UISwipeGestureRecognizer 并将其添加到您希望它出现的视图中:

    UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
    [swipeGesture setDirection:UISwipeGestureRecognizerDirectionDown];
    [self.view addGestureRecognizer:swipeGesture];
    
  2. 创建一个实例变量来保存您的菜单视图并将其添加到屏幕外的视图(注意 -80 y 坐标):

    menuView = [[UIView alloc] initWithFrame:CGRectMake(0, -80, 320, 80)];
    //add whatever controls you need to the menu view, or load it from a nib
    [self.view addSubview:menuView];
    
  3. 定义一个在检测到向下滑动时将菜单滑动到视图上的方法:

    -(void)swipe:(UISwipeGestureRecognizer*)sender {
            [UIView animateWithDuration:0.5 animations:^{
                [menuView setFrame:CGRectMake(0, 0, 320, 80)];
        }];
    }
    

如果您希望屏幕随之向下滑动或您可能希望发生的任何其他事情,请向动画块添加其他操作。

要使用向上滑动移除视图,您可以创建另一个 UISwipeGestureRecognizer,但带有UISwipeGestureRecognizerDirectionUp方向。制作另一种方法来反向滑动菜单。

希望能帮助到你。

于 2012-07-18T04:33:53.870 回答