我一直在寻找一种方法,使菜单从屏幕顶部向下移动 80 像素,并在用户从上到下滑动手指时让屏幕向下滑动(80 像素)(并在他们滑动时反转它)从上到下将其发送回来)。我该怎么做呢?任何事情都有帮助。谢谢!
问问题
1631 次
1 回答
3
创建一个 UISwipeGestureRecognizer 并将其添加到您希望它出现的视图中:
UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)]; [swipeGesture setDirection:UISwipeGestureRecognizerDirectionDown]; [self.view addGestureRecognizer:swipeGesture];
创建一个实例变量来保存您的菜单视图并将其添加到屏幕外的视图(注意 -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];
定义一个在检测到向下滑动时将菜单滑动到视图上的方法:
-(void)swipe:(UISwipeGestureRecognizer*)sender { [UIView animateWithDuration:0.5 animations:^{ [menuView setFrame:CGRectMake(0, 0, 320, 80)]; }]; }
如果您希望屏幕随之向下滑动或您可能希望发生的任何其他事情,请向动画块添加其他操作。
要使用向上滑动移除视图,您可以创建另一个 UISwipeGestureRecognizer,但带有UISwipeGestureRecognizerDirectionUp
方向。制作另一种方法来反向滑动菜单。
希望能帮助到你。
于 2012-07-18T04:33:53.870 回答