保持背景的滑动菜单(Xcode 4.3)

时间:2012-07-18 04:03:35

标签: iphone ios menu xcode4.3 sliding

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

1 个答案:

答案 0 :(得分: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)];
        }];
    }
    
  4. 如果您希望屏幕向下滑动或其他任何您想要发生的事情,请向动画块添加其他操作。

    要使用向上滑动删除视图,您可以创建另一个UISwipeGestureRecognizer,但方向为UISwipeGestureRecognizerDirectionUp。制作另一种方法,对菜单进行反向滑动。

    希望它有所帮助。