【发布时间】:2020-08-07 18:17:37
【问题描述】:
我找到了这个帖子,但它没有反映我的情况:Disable gesture to pull down form/page sheet modal presentation
我有这个问题:我的应用程序通过表单格式的模态演示打开一个小视图控制器。提供了一个包含静态 tableviewcontroller 的导航控制器,在唯一的单元格内我有一个通过“touchesBegan”和“touchesMoved”捕获签名的视图。
当我尝试绘制签名时,触摸被视图控制器捕获,它试图自行关闭。
显然我已经激活了属性“modalInPresentation”
我如何找到对此负责的gestureRecognizer?
self.view.gestureRecognizers He gives me these back, but nobody seems to intercept the gesture of dismiss:
<UIScrollViewDelayedTouchesBeganGestureRecognizer: 0x280ac8800; state = Possible; enabled = NO; delaysTouchesBegan = YES; view = <UITableView 0x10711a000>; target= <(action=delayed:, target=<UITableView 0x10711a000>)>>
<UIScrollViewPanGestureRecognizer: 0x105bfe170; state = Possible; enabled = NO; delaysTouchesEnded = NO; view = <UITableView 0x10711a000>; target= <(action=handlePan:, target=<UITableView 0x10711a000>)>>
<UIScrollViewKnobLongPressGestureRecognizer: 0x105b9b270; state = Possible; view = <UITableView 0x10711a000>; target= <(action=_handleKnobLongPressGesture:, target=<UITableView 0x10711a000>)>; numberOfTapsRequired = 0; minimumPressDuration = 0.1>
<UIScrollViewKnobLongPressGestureRecognizer: 0x105b9b440; state = Possible; view = <UITableView 0x10711a000>; target= <(action=_handleKnobLongPressGesture:, target=<UITableView 0x10711a000>)>; numberOfTapsRequired = 0>
<UIHoverGestureRecognizer: 0x112fb7f60; state = Possible; view = <UITableView 0x10711a000>; target= <(action=_handleKnobHoverGesture:, target=<UITableView 0x10711a000>)>>
<_UIDragAutoScrollGestureRecognizer: 0x28098ec10; state = Possible; cancelsTouchesInView = NO; delaysTouchesEnded = NO; view = <UITableView 0x10711a000>; target= <(action=_handleAutoScroll:, target=<UITableView 0x10711a000>)>>
<_UISwipeActionPanGestureRecognizer: 0x105be9d00; state = Possible; view = <UITableView 0x10711a000>; target= <(action=_swipeRecognizerDidRecognize:, target=<_UISwipeHandler 0x281896b00>)>>
<_UISwipeDismissalGestureRecognizer: 0x280ac8d00; state = Possible; enabled = NO; delaysTouchesBegan = YES; view = <UITableView 0x10711a000>; target= <(action=_dismissalRecognizerDidRecognize:, target=<_UISwipeHandler 0x281896b00>)>>
【问题讨论】:
-
如果你使用的是 pushViewController 那么你需要展示这个 popviewController..
标签: ios uigesturerecognizer ios13 modalviewcontroller ipados13