我正在开发一款iOS应用程序,其中集成了许多用于导航的手势。 当点击某些项目时,模态视图控制器向上滑动,选择内部选项,并在视图顶部放置一个“完成”按钮以关闭所述模态VC。
“完成”按钮并没有“感觉”正确,因为在整个应用程序中有很多其他基于手势的控件,我想知道是否:任何人都知道(简单)方式我可以整合“从屏幕上边缘轻扫”来解除这种模式吗?
但我不想摆脱'完成'按钮。希望有道理!目前,我的modalVC的* .m文件有:
-(IBAction)doneButtonPressed:(id)sender
{[self dismissViewControllerAnimated:YES completion:nil]; }
在那里......很简单。点击“完成”按钮也完全有效。此时没有问题
答案 0 :(得分:7)
您可以使用UISwipeGestureRecognizer
来实现此目标。
UISwipeGestureRecognizer *swipeRecognizer = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(userSwiped:)];
swipeRecognizer.direction = UISwipeGestureRecognizerDirectionDown;
[modalController.view addGestureRecognizer:swipeRecognizer];
//Action method
- (void)userSwiped:(UIGestureRecognizer *)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
}
iOS使用从顶角的滑动来显示通知中心。因此,建议不要将此手势与应用中的任何操作相关联。
以上示例识别模态视图上任何位置的从上到下的滑动并将其解除。