我一直在寻找一种方法,让菜单从屏幕顶部向下80像素,当用户从上到下滑动手指时,屏幕向下滑动(80像素)(并反转它)当他们从上到下滑动以将其重新发送时)。我该怎么做呢?一切都有帮助。谢谢!
答案 0 :(得分: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
。制作另一种方法,对菜单进行反向滑动。
希望它有所帮助。