【发布时间】:2014-04-19 18:42:22
【问题描述】:
有没有办法去除部分卷曲过渡的点击手势识别? 现在,当用户点击卷曲视图时,它会卷曲回来 - 关闭。
我将它用于快速注册控制器,我不希望用户在没有警告的情况下意外点击并返回。
【问题讨论】:
标签: ios iphone xcode transition modalviewcontroller
有没有办法去除部分卷曲过渡的点击手势识别? 现在,当用户点击卷曲视图时,它会卷曲回来 - 关闭。
我将它用于快速注册控制器,我不希望用户在没有警告的情况下意外点击并返回。
【问题讨论】:
标签: ios iphone xcode transition modalviewcontroller
对于任何试图让 Hitendra 回答工作的人,您必须将代码放在 viewDidLoad 之后。我成功使用了viewDidAppear 函数。
这也是一个快速的实现:
private func removePartialCurlTap() {
if let gestures = self.view.gestureRecognizers as? [UIGestureRecognizer] {
for gesture in gestures {
self.view.removeGestureRecognizer(gesture)
}
}
}
这样放置:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
removePartialCurlTap()
}
【讨论】:
当您使用部分卷曲过渡时,它会自动将要在触摸时关闭的手势识别器添加到下一个屏幕的手势识别器数组中。您可以很容易地看到向 viewDidAppear() 添加断点并在控制台中使用此代码,如您在我的打印中看到的那样po self.view.gestureRecognizers
现在将此代码添加到 viewDidAppear() 的开头self.view.gestureRecognizers?.removeAll()
此外,如果您想使用带有卷曲动画的按钮返回上一屏幕,您可以轻松地在按钮的操作方法中使用此代码self.dismissViewControllerAnimated(true, completion: {})
【讨论】:
for(UIGestureRecognizer *gesture in [yourview gestureRecognizers])
{
if([gesture isKindOfClass:[UIGestureRecognizer class]])
{
[yourview removeGestureRecognizer:gesture];
}
}
请尝试上面的代码。
【讨论】: