Skip to content

Using Screen Edge Pan to open menu can cause app to stop responding to touches #86

Open

Description

@lukeharries

Replication steps:
(Swift 4, iOS 11.3 SDK, iOS11 Sim & Device)
Use screen edge pan gesture to slowly open menu, drag finger to other side of screen, and then off screen.

Observed Behaviour:
Menu Open transition is cancelled (content snaps back to full screen) and the UI becomes unresponsive.

Expected Behaviour:

  • Menu opens
  • UI Never becomes unresponsive after a menu transition, under any condition.

Suspected Issues:
In MenuAnimator.handlePan(recognizer: ) the boolean condition progress > 0.4, velocity >= 0 || progress > 0.01, velocity > 100 does not appear to evaluate correctly. This may be a Swift 4 issue.

Also in MenuAnimator.handlePan(recognizer: ) there are some situations when Recognizer.state is cancelled or ended, and the program does not enter any conditional blocks where finishTransition or cancelTransition is called, so isUserInteractionEnabled is never set to true.

Activity

  1. AshleyDeng commented on Apr 10, 2018

    @AshleyDeng

    I have exactly the same issue. For me, it happens when I try to navigate between A -> (B) -> C view controllers. B is an optional VC that might be bypassed and when it happens, C unwind to A where Screen Edge Pan on A will fail to open menu and causes UI to become unresponsive.

    Also, following this to disable swipe to show menu gesture failed to work due to the recent updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions